2014-11-24 6 views
0

Как «How to pass command line arguments to a rake task« Я думал, что следующее будет работать.Параметры разборки команды rake после -

$ rake command -- other options 

Однако вызов не выполнен с ошибкой invalid option. В ответе указывается:

Обратите внимание на --, что необходимо для обхода стандартных грабли.

Это не работает для меня. Есть ли исправление?

ответ

0

Получается, используя синтаксис key=value. Поэтому для установки опций используйте это.

$ rake command option= key=value 

Что дает вам аргументы в команде.

args = ARGV.grep(/=/).map{ |s| [ *s.split(/=/), true ][0, 2] }.to_h 
# => { "option" => true, "key" => "value" } 

Или проще для простых ключей.

args = ARGV.flat_map{ |s| s[/(\w+)=/, 1] }.compact 
# => [ "option", "key" ] 
Смежные вопросы