我无法在我的Ruby安装中访问ARGV
。我使用的是Ruby 2.2.2,我的操作系统是Windows 8.1。
例如,我在学习Ruby的艰难之路中进行了练习,其中包含以下代码:
PHRASE_FIRST = ARGV [0] == "english"
当我从命令提示符运行文件时,在文件名后键入"english"
时,应该创建一个激活某个选项的开关。它不起作用。
我在文件中使用以下代码来确定ARGV
是否为空:
if ARGV.empty?
puts "ARGV is empty."
exit
end
确实,它是空的。
我已经适当地设置了rbfile。我使用了这段代码,它指向我的ruby.exe文件:
rbfile="C:\ruby22\bin\ruby.exe" "%1" %*
这没有帮助。
有什么建议吗?
答案 0 :(得分:1)
我想当你引用rbfile时,你在谈论Windows文件扩展名关联?
要使rbfile正常工作,必须正确设置assoc和ftype:
C:\> assoc .rb
.rb=rbfile
C:\> ftype rbfile
rbfile="C:\ruby22\bin\ruby.exe" "%1" %*
当然,使用参数运行Ruby程序不是必需的。你总是可以明确地调用ruby:
C:\>ruby C:\dev\my_program.rb arg1 arg2
,只要ruby.exe或ruby.bat在您的系统路径中。
如果在确认assoc和ftype设置正确后问题仍无法解决,请提供有关如何运行程序的详细信息。了解您是从命令行运行,直接从文本编辑器/ IDE运行,还是只是从Windows资源管理器中双击该文件,这将会很有趣。