我正在尝试使用optionparse of ruby来解析我的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)
最佳答案
您应该手动要求 OpenStruct
源:
require 'ostruct'
关于Ruby 错误 - 未初始化的常量 OpenStruct (NameError),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25601960/