1

我尝试将我的脚本设置为运行这样的东西

ruby Script.rb --ip "192.168.3.206"

但是如果没有 ip 参数,那么它使用默认的“192.168.1.1

我尝试了这段代码,但它总是以 ip 的形式返回 nil

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}

请告诉我我的代码哪里错了?

4

1 回答 1

4

您必须指出您的 --ip 开关有一个参数,如下所示:

opts.on("-i MANDATORY", "--ip=MANDATORY", String, "Set ip") do |command_line_ip|
于 2012-02-23T10:21:25.990 回答