Как передать / получить параметры командной строки? - PullRequest
3 голосов
/ 04 января 2009

Я пытаюсь использовать Shoes, и мне нужно передать ей параметры командной строки (в основном, мое приложение Shoes будет вызываться из другого существующего приложения, и это позволит мне предварительно заполнить некоторые части обуви). Должен ли я позвонить с помощью обертки bin / shoes?

Кажется, я не могу передать аргументы оболочке Shoes (она объединяет все параметры и пытается использовать результат в качестве имени пути скрипта). И я не могу получить доступ к массиву ARGV.

 Juraj.

1 Ответ

4 голосов
/ 09 января 2009

Пример кода

Shoes.app do
  para "program: #{ARGV[0]}\n"
  para "arg1: #{ARGV[1]}\n"
  para "arg2: #{ARGV[2]}\n"
end

работает у меня при вызове из оболочки shoes.run. Например, если я запускаю ./shoes.run test.app foo bar в командной строке, он отображает:

program: test.app
arg1: foo
arg2: bar

для меня. Возможно, ваше поведение при объединении связано с тем, как вы называете Shoes, а не с самой оберткой Shoes?

Кроме того, у меня тоже самое работает, если я запускаю shoes после распаковки всего. Также вы можете запустить

shoes test.app -- foo bar

чтобы приложение получало аргументы вместо исполняемого файла shoes.

...