Support for the Ruby 2.4 series has ended. See here for reference.
Extends command line arguments array (ARGV) to parse itself.
Substitution of getopts is possible as follows. Also see OptionParser#getopts.
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
 
               # File optparse.rb, line 2129
def getopts(*args)
  options.getopts(self, *args)
end
             
            Actual OptionParser object, automatically created if nonexistent.
If called with a block, yields the OptionParser object and returns the result of the block. If an OptionParser::ParseError exception occurs in the block, it is rescued, a error message printed to STDERR and nil returned.
 
               # File optparse.rb, line 2088
def options
  @optparse ||= OptionParser.new
  @optparse.default_argv = self
  block_given? or return @optparse
  begin
    yield @optparse
  rescue ParseError
    @optparse.warn $!
    nil
  end
end
             
            Sets OptionParser object, when opt is false or nil, methods OptionParser::Arguable#options and OptionParser::Arguable#options= are undefined. Thus, there is no ways to access the OptionParser object via the receiver object.
 
               # File optparse.rb, line 2071
def options=(opt)
  unless @optparse = opt
    class << self
      undef_method(:options)
      undef_method(:options=)
    end
  end
end
             
            Parses self destructively in order and returns self containing the rest arguments left unparsed.
 
               # File optparse.rb, line 2104
def order!(&blk) options.order!(self, &blk) end