Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
OptionParser::Arguable#getopts
getopts(*args, symbolize_names: false)
lib/optparse.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.3.0/lib/optparse.rb, line 2301
def getopts(*args, symbolize_names: false)
options.getopts(self, *args, symbolize_names: symbolize_names)
end
Substitution of getopts is possible as follows. Also see OptionParser#getopts.
Example
def getopts(*args) ($OPT = ARGV.getopts(*args)).each do |opt, val| eval "$OPT_#{opt.gsub(/[^A-Za-z0-9_]/, '_')} = val" end rescue OptionParser::ParseError end