我正在尝试学习如何使用 optparse 来接受命令行选项,但是我很难让它像类文档和我可以在网上找到的任何示例中显示的那样运行。特别是当我通过 -h 选项时,什么都没有出现。我可以输出 ARGV 并显示它接收到 -h 但它不会显示 opts.banner 和/或任何 opts。我在这里想念什么?
class TestThing
def self.parse(args)
options = {}
options[:time] = 0
options[:operation] = :add
options[:input_file] = ARGV[-2]
options[:output_file] = ARGV[-1]
optparse = OptionParser.new do |opts|
opts.banner = "Usage:[OPTIONS] input_file output_file"
opts.separator = ""
opts.separator = "Specific Options:"
opts.on('-o', '--operation [OPERATION]', "Add or Subtract time, use 'add' or 'sub'") do |operation|
optopns[:operation] = operation.to_sym
end
opts.on('-t', '--time [TIME]', "Time to be shifted, in milliseconds") do |time|
options[:time] = time
end
opts.on_tail("-h", "--help", "Display help screen") do
puts opts
exit
end
opt_parser.parse!(args)
options
end
end
end