【发布时间】:2013-12-04 12:09:45
【问题描述】:
我正在通过引用this 和this 来学习Ruby 中的选项解析。这是我的测试代码:
#!/usr/bin/ruby
require "optparse"
options = {}
optparse = OptionParser.new do |opts|
opts.banner = "Learning Option parsing in Ruby"
opts.on("-i", "--ipaddress", "IP address of the server") do |ipaddr|
options[:ipaddress] = ipaddr
end
opts.on("-u", "--username", "username to log in") do |user|
options[:username] = user
end
opts.on("-p", "--password", "password of the user") do |pass|
options[:password] = pass
end
end
optparse.parse!
puts "the IPaddress is #{options[:ipaddress]}" if options[:ipaddress]
puts "the username is #{options[:username]}" if options[:username]
puts "the password is #{options[:password]}" if options[:password]
我的目的是打印我传递给脚本的选项。但是,它不会打印我通过的选项,而只是说true:
# ruby getops.rb --ipaddress 1.1.1.1
the IPaddress is true
# ruby getops.rb --username user1
the username is true
# ruby getops.rb --password secret
the password is true
我哪里错了?我也尝试了短选项,但结果是一样的。
【问题讨论】:
标签: ruby