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 に答える