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.newputs cgi.headerputs "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 consoleconsole.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 的可視化開發圖形界面。













