Мой демо.рб:
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
Почему это происходит? И можно ли что-то сделать с этим?
EDIT:
Спасибо за все ответы! Вот мои настройки:
>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 запущен.
Так, я думаю, что-то еще напутало?