我的demo.rb:
puts ARGV.size
ARGV.each do |a|
puts "Argument: #{a}"
end结果取决于我们如何运行脚本:
> demo.rb foo bar
0
> ruby demo.rb foo bar
2
Argument: foo
Argument: bar为什么会发生这种事?能用这个做点什么吗?
编辑:感谢所有回复!在这里,我的设置:
>assoc .rb
.rb=rbFile
>ftype rbFile
rbFile="c:\ruby-1.8.6\bin\ruby.exe" "%1" %*所以看起来是对的。
但我发现
>demo.rb foo bar使用这样的命令行启动进程:
"C:\ruby-1.8.7\bin\ruby.exe" "c:\demo.rb"注意,.rb与1.8.6相关联,但1.8.7已启动。
所以我想其他的事情都搞砸了?
发布于 2009-08-27 13:56:05
打开命令窗口:
assoc .rb是rbFile吗?
ftype rbFile确保Ruby.exe后面跟着"%1“%*
%*有时会丢失。
发布于 2009-08-27 13:53:36
检查文件关联。特别是在高级设置中查看“打开”操作。确保操作的末尾有%*。
这问题是关于powershell的,但本质上是同一个问题,所以我的答案应该更详细一些。
发布于 2009-08-27 13:55:59
在文件类型的关联中,这些参数似乎不会传递给ruby解释器。有关关联的外观,请参见本节,并验证您的关联。
https://stackoverflow.com/questions/1341233
复制相似问题