對不起,如果這是一個明顯的問題,但optparse的文檔是非常糟糕的,我似乎無法理解它。我只是有一個簡單的問題。我可以執行使用optparse像這樣的方法:OptionsParser執行方法?
dns = DNS.new
options = {}
optparse = OptionParser.new do |opts|
opts.banner = $usage
options[:standard] = false
opts.on('a', '--standard', 'Standard DNS Query') do
options[:standard] = true
end
options[:mail] = false
opts.on('mx', '--mail', 'MX Server Query') do
options[:mail] = true
end
options[:reverse] = false
opts.on('ptr', '--reverse', 'Reverse DNS Lookup') do
options[:reverse] = true
end
opts.on('-h', '--help', 'Display usage') do
puts opts
exit
end
end
optparse.parse!
ARGV.each do |arg|
puts "Querying #{arg}"
dns.a_records(arg) if options[:standard]
dns.mx_records(arg) if options[:mail]
dns.ptr_records(arg) if options[:reverse]
end
它似乎並不像我一樣還是我做錯了。因爲實際發生的唯一情況是打印字符串「Querying#{arg}」。
您可能會在此處錯誤地聲明您的參數。 「--help」顯示什麼?據我所知,所有的參數都應該遵循像'-h'這樣的格式,單破折號+單字母和雙破折號+多字母。 – tadman 2014-10-08 20:45:40