Can';由于ARGV[0],无法使用ocra生成ruby exe
运行命令Can';由于ARGV[0],无法使用ocra生成ruby exe,ruby,command-line-arguments,ocra,Ruby,Command Line Arguments,Ocra,运行命令ocra script.rb--no autoload--no enc--add all core会出现以下错误initialize:无法将nil转换为字符串(TypeError): doc=Nokogiri::XML(File.open(ARGV[0])) 这是怎么回事?我希望构建可执行文件,使其能够接受任何参数并将该文件用作xml配置。只需在该行上方添加以下内容: exit if defined? Ocra # skip anything below this line when w
ocra script.rb--no autoload--no enc--add all core
会出现以下错误initialize:无法将nil转换为字符串(TypeError)
:
doc=Nokogiri::XML(File.open(ARGV[0]))
这是怎么回事?我希望构建可执行文件,使其能够接受任何参数并将该文件用作xml配置。只需在该行上方添加以下内容:
exit if defined? Ocra
# skip anything below this line when we're building the exe
除非该行下方有
require
或其他加载的依赖项,否则您应该很好。似乎很长时间了,但accept解决方案对我不起作用
工作解决方案是添加-->
,然后向参数中添加任何虚假数据,以使执行流与正常情况一样
例如:
所以你需要这样做
ocra yourscript.rb -- ANYDATAHERE
为什么不使用某种类型的CLI解析器,而不仅仅是使用
ARGV
,这也会增加代码的可读性,并且可能不会遇到同样的编译问题。