我正在尝试使用ruby的optionparse来解析我的ruby脚本的参数。问题是当我像这样运行脚本时 bundler exec ruby generation.rb --help 我收到了错误 “未初始化的常量OpenStruct(NameError)”
我相信因为我使用bundle exec运行脚本,所以我不应该收到此错误。我做错了什么。
require 'optparse'
def parse(args)
options = OpenStruct.new
options.dir = '../somerepo'
opts = OptionParser.new do |opts|
opts.banner = "Usage: generation.rb [options]"
opts.separator ""
opts.separator "Options:"
opts.on("--temp c_name", "abcddd") { |abc|
options.temp = abc
}
opts.separator ""
opts.on_tail("-h", "--help", "Show this message") {
puts opts
exit
}
opts.parse!(args)
return options
end
end
inputOpts = parse(ARGV)
答案 0 :(得分:10)
您需要手动OpenStruct
来源:
require 'ostruct'