Ocra是一个ruby gem,将ruby文件源代码“转换”为.exe文件,因此任何没有安装ruby的用户都可以使用该生成的文件启动该程序。
我正在创建一个游戏编辑器,因此我需要一种在用户想要的时候创建可执行文件的方法。
嗯,这是我的问题,如何在不告诉用户安装该gem的情况下使用ocra命令?一种要求(要求'ocra'不起作用),或者另一种创建可执行文件的方式。
答案 0 :(得分:0)
感谢Raffael的回答,它的工作方式如下:
忘记在程序中使用exec("ocra game.rbw")
的想法。在安装了ocra的计算机上,我创建了一个带有game.rbw的基本game.exe,由于eval
,将对其进行不同的解释。我们的想法是,不是为每个不同的项目创建一个新的.exe,我们将通过源代码解释来设置它。
如果你有类似的东西进入game.rbw:
Dir.entries("SourceCode").each do |code|
require_relative "SourceCode/" + code if code.include?(".rb")
end
将其替换为:
Dir.entries("SourceCode").each do |code|
eval(File.open("SourceCode/" + code, "r:UTF-8").readlines.join("\n")) if code.include?(".rb")
end
如果设置了源代码的一部分,下次启动game.exe时会有不同的解释。