我正在尝试使用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/

10-13 02:15