找回密码
 加入
搜索
查看: 2364|回复: 8

[系统综合] 有哪位大神知道如何在AU3里调用RUBY脚本?[已解决]

  [复制链接]
发表于 2016-10-24 20:24:38 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2017-3-18 09:53 编辑

以前粗略了解过Ruby,对其数组的操控方法之多和简洁印象深刻,据说是一种嵌入式脚本语言。最近遇到数组问题又想起了ruby。
AU3大神多,肯定有人知道怎么在AU3里调用RUBY语句吧?VB能做到,AU3应该也没问题的,好像要先引用RUBY引擎,具体记不清了。
下面是一些RUBY操作数组的习惯用法,可以看到语句很简洁:

文字链接:http://blog.csdn.net/liu_qingbo/article/details/7439884

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-10-26 08:23:55 | 显示全部楼层
自带的数组不好用么
 楼主| 发表于 2016-10-26 15:14:10 | 显示全部楼层
自带的数组不好用么
cfanpc 发表于 2016-10-26 08:23

感觉自带的数组操作函数没有ruby里的丰富阿,如果能调用ruby,可以让AU3更强大,更好用吧
发表于 2016-10-31 01:13:37 | 显示全部楼层
ruby环境有了,用批处理传递给去
发表于 2016-10-31 11:02:04 | 显示全部楼层
回复 1# cashiba

稍微看了一下

自己寫幾個函數 應該 也可以做到一樣的事情吧......

差別只是自己寫 還是  系統內定而已吧
 楼主| 发表于 2016-11-3 09:12:01 | 显示全部楼层
回复 5# kk_lee69
自己写函数毕竟费时费力阿,如果能用上优秀的第三方语言,可以让AU3如虎添翼嘛....
 楼主| 发表于 2016-11-3 09:18:31 | 显示全部楼层
本帖最后由 cashiba 于 2016-11-3 10:14 编辑

已经知道怎么调用ruby了,不过暂时没时间继续学习Ruby.
先把调用代码贴出来,抛砖引玉吧,哪位有心学ruby的可以继续研究啦......
;调用前请先安装Ruby引擎:http://www.artonx.org/data/asr/ActiveRuby.msi
#include <Array.au3>
OperRubyArr()

func OperRubyArr()
local $rb = ObjCreate("scriptcontrol")
$rb.Language = "rubyscript"
$rb.eval("a = [1, 3, 4, 5, 7] ; b = [2, 3, 5, 7, 9]; c=a & b;")
local $res=$rb.eval("c.join(',')")
ConsoleWrite("重复值:" & $res & @CRLF)

$rb.eval ("a = [1, 3, 4, 5, 7] ; b = [2, 3, 5, 7, 9]; c=a + b;")
local $ult=$rb.eval("c.to_s")
ConsoleWrite("合并后:" & $ult & @CRLF)

$rb.eval ("a = [1, 3, 4, 5, 7] ; b = [2, 3, 5, 7, 9]; c=(a | b).sort;")
local $srt=$rb.eval("c.join(',')")
ConsoleWrite("合并去重排序后:" & $srt & @CRLF)

local $del=$rb.eval ("c = [0, 1, 6, 8, 10];c.delete_at 2")
local $del=$rb.eval("c.*(',')")
ConsoleWrite("删除其中一元素后:" & $del & @CRLF)

$rb.eval ("ary=[1, 3, 2, 2, 3].uniq  ")
local $uni=$rb.eval("ary.*(',')")
ConsoleWrite("取唯一值后:" & $uni & @CRLF)

local $rvs=$rb.eval("'abcdefg'.reverse")
ConsoleWrite("倒转后:" & $rvs & @CRLF)

local $dir = $rb.Eval("Dir::entries('c:/') ")
_ArrayDisplay($dir,"C盘目录")
$rb=0
$rb.quit
EndFunc
 楼主| 发表于 2016-11-3 10:21:05 | 显示全部楼层

Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。Ruby 可运行于多种平台,如 Windows、MAC OS 和 UNIX 的各种版本。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-11-3 18:39:14 | 显示全部楼层
不知道如何把变量传递进ruby代码块。比喻如何把ruby代码块中的数组用变量代替.....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 01:15 , Processed in 0.080088 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表