Нулевой параметр в OptionParser - PullRequest
1 голос
/ 23 февраля 2012

Я пытаюсь настроить мой скрипт для запуска что-то вроде этого

ruby Script.rb --ip "192.168.3.206"

Но если нет параметра ip, он использует значение по умолчанию "192.168.1.1

Я пытаюсь этот код, новсегда возвращается nil как ip

options = {}

OptionParser.new do |opts|
  options[:ip] = "192.168.1.1"
  opts.on("-i", "--ip", String, "Set ip") do |command_line_ip|
    options[:ip] = command_line_ip
  end
end.parse!
p options

Вывод этого кода

{:ip=>nil}

Пожалуйста, скажите мне, где мой код неверен?

1 Ответ

4 голосов
/ 23 февраля 2012

Вы должны указать, что в вашем ключе --ip есть аргумент:

opts.on("-i MANDATORY", "--ip=MANDATORY", String, "Set ip") do |command_line_ip|
...