aardioRuby可视化快速开发独立EXE桌面程序
aardio 可以方便地调用 Buby,支持系统自带 Ruby 环境。如果没有安装 Ruby ,aardio 会自动安装。所以 aardio + Ruby 开发的软件可以生成体积较小的独立 EXE 文件。用 aardio 执行 Ruby 代码
用法很简单,aardio 代码示例:import win.ui; var winform = win.form(text="执行Ruby代码") winform.add( edit={cls="edit";left=26;top=16;right=737;bottom=435;edge=1;multiline=1} ) import process.ruby; //执行 Ruby 代码 var out = process.ruby.exec("puts "测试UTF-8"") winform.edit.print(out); //解析 Ruby 表达式并返回为 aardio 对象 var out = process.ruby.eval(`[1, 2, { name: "tanaka", age: 19 }]`) winform.edit.print(out); winform.show(); win.loopMessage();
在 aardio 中运行上面的代码:
process.ruby.exe() 以管道方式打开 Ruby 进程执行 Ruby 代码,第一个参数可以是 *.rb 代码文件路径,也可以直接指定 Ruby 代码。可以添加不定个数启动参数,也可以在一个字符串参数中写多个启动参数。
process.ruby.eval() 可以解析第一个字符串参数指定的 Ruby 表达式的值,返回值会自动转换为纯 aardio 对象。CGI 调用 Rubyimport win.ui; var winform = win.form(text="Ruby CGI") var code = /* require "cgi" cgi = CGI.new puts cgi.header puts "This is a test" */ //创建测试文件 string.save("/res/index.rb",code); //启动嵌入式 HTTP 服务器,自动分配空闲服务端口 import process.ruby.simpleHttpServer; var url = process.ruby.simpleHttpServer.startUrl("/res/index.rb"); //创建浏览器控件显示网页 import web.form; var wb = web.form(winform); wb.go(url); winform.show(); win.loopMessage();
process.ruby.simpleHttpServer 基于 aardio 标准库 wsock.tcp.simpleHttpServer 创建了一个嵌入式的多线程 HTTP 服务器,自动分配空闲服务端口,不会与其他程序冲突,在程序退出时此 HTTP 服务器会自动退出。很省心不需要写多余的代码。
上面的 "/res/index.rb" 可以放到工程资源目录下,发布的时候能生成独立 EXE 文件。
创建 Ruby 交互解释器
aardio 代码示例:import console console.setTitle("Ruby 交互解释器"); import process.ruby; process.ruby.cmd("irb");
按 Ctrl + D 或者输入 exit 以后回车可以退出。执行 Rake 命令import win.ui; /*DSG{{*/ var winform = win.form(text="执行Rake命令") winform.add( edit={cls="edit";left=26;top=16;right=737;bottom=435;edge=1;multiline=1;z=1} ) /*}}*/ var rakefile = /* task :purchaseAlcohol,[:arg1, :arg2] do |t, args| puts "#{args[:arg1].to_i + args[:arg2].to_i}" end */ //创建测试文件 string.save("/rakefile",rakefile ) import process.ruby; var result,err = process.ruby.rake("purchaseAlcohol[123,2]"); winform.edit.print(result,err); winform.show(); win.loopMessage();
process.ruby.rake() 创建进程管道运行 rake 命令,返回值分别为:标准输出,错误输出。
第一个参数指定 rake 命令。可选自第二个参数开始指定其他命令行参数。多个命令行参数自动合并,不在双引号内、且包含空白或需要转义的参数转义处理后首尾自动添加双引号。
需要先在工作目录下创建 rakefile 。可以用 process.ruby.workDir 指定 Ruby 工作目录。默认工作目录为 "/" ,"/" 在 aardio 中表示应用程序根目录(开发时为工程根目录,发布后为 EXE 所在目录 )。用 aardio 可视化开发图形界面
用 aardio + Ruby 混合开发的主要目的是为了使用 aardio 的可视化开发图形界面。
如果不熟悉 aardio ,建议先看一遍 aardio 开始页的《 aardio 编程语言快速入门——语法速览 》。aardio 开发界面很简单,相关教程、范例、开源项目也很多,这里就不多讲了。
卢拉东山再起却身处火山之眼香港亚洲时报网站10月31日发表题为东山再起的卢拉处于火山之眼的文章,作者是佩佩埃斯科巴尔。全文摘编如下刚刚当选巴西总统的卢拉可能是21世纪终极的东山再起政治家。他继承了一个满目疮
如果你是光,就随我一起发亮没有逾越不了的高山没有战胜不了的困难因为我们不是一个人在战斗因为每条战线上都有坚强勇敢的身影因为每个岗位上都有发光闪亮的人别担心,那些增长的数据终会清零别担心,静默管控下的生活有志
写给自己的一段话,自己安慰自己的心情说说,心累了解压的金句高质量5万条经典文案资料库,关注我,让发朋友圈配文案,写动态,写心情,上热门更简单。如果有那句话触动你,就复制下来,粘贴到评论区,释放你的心声吧,任何尝试勇敢迈出第一步都是艰难的,
税优健康险改革启动,产品拟扩容,能否打破叫好不叫座尴尬沉寂许久的税优健康险终于迎来新的动向。11月13日,北京商报记者注意到,近日银保监会就关于扩大商业健康保险个人所得税优惠政策适用产品范围有关事项的通知(征求意见稿)(以下简称意见稿
直播间低价白酒到底能不能买?行家水太深,慎重随着短视频的爆火,人们尝到了流量的红利,更是直接将流量变现,开启了直播带货之路,在所有的直播带货中,争议最大的要数白酒行业。原本白酒市场就有些扑朔迷离,真酒假酒傻傻分不清楚,尝起来
习近平给中国航空工业集团沈飞罗阳青年突击队队员们的回信航空工业集团沈飞罗阳青年突击队的同志们你们好!来信收悉。你们以罗阳同志为榜样,扎根航空装备研制一线,在急难险重任务中携手拼搏奉献,这种团结奋斗的精神非常可贵。你们在信中表示,要深入
万千山河,不过一寸古往今来,不过一瞬一个健全的心态,比一百种智慧更有力量。有什么样的心态,就有什么样的人生。一个人活得快乐与否,主要在于自己的心态。好的心态让人充满阳光自信,拥有无处不在的快乐坏的心态,让人处处受阻,
鸡汤的智慧翻看硬盘,找到了几个偶然看到并且保存下来的图片,觉得挺有意思。个人感觉鸡汤这玩意要是喝多了,比喝酒喝多了还难受。就像公知柴静说痛苦是财富一样,能说她说得对吗?肯定不能,她断章取义的
人经历过怀疑人生,没有自信心,都是自卑,应该怎么办?(1)多读书。腹有诗书气自华,读书能改变气质,改变命运。影响人生境遇的五种因素一命二运三风水四积德五读书,前面四个因素我们很难做到,唯一容易做到的就是读书。读书可以提高人的自信力,
孩子不自律是本能,父母让他自律是本事,自律的小孩才能快乐成长疫情期间,孩子在家上网课成了常态。但很多家长抱怨说孩子上网课必须要大人守着,否则他们就会偷偷玩电脑玩手机。老师布置的作业也得大人不停催促,否则别指望孩子能自己做好。总之,大事小事,
如何走出幼儿教育的误区?改革开放以来,人们对幼儿教育的重视程度发生了急剧的变化,特别是随着独生子女的不断增加,社会对幼儿教育在精力物力财力等方面的投入,超过了以往任何时期。人们对幼儿教育的重视与关注,无疑