我试图使用
ruby的optionparse来解析我的ruby脚本的参数.问题是当我像这样运行脚本时
bundler exec ruby generation.rb –help
我收到了错误
“未初始化的常量OpenStruct(NameError)”
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)
解决方法
您应该手动需要OpenStruct源:
require 'ostruct'