APIdock / Ruby
/
method

getopts

ruby latest stable - Class: OptionParser
getopts(*args)
public

Wrapper method for getopts.rb.

params = ARGV.getopts ("ab:", "foo", "bar:", "zot:Z;zot option")
# params["a"] = true # -a
# params["b"] = "1" # -b1
# params["foo"] = "1" # --foo
# params["bar"] = "x" # --bar x
# params["zot"] = "z" # --zot Z
# File lib/optparse.rb, line 1662
 def getopts(*args)
 argv = Array === args.first ? args.shift : default_argv
 single_options, *long_options = *args
 result = {}
 single_options.scan(/(.)(:)?/) do |opt, val|
 if val
 result[opt] = nil
 define("-#{opt} VAL")
 else
 result[opt] = false
 define("-#{opt}")
 end
 end if single_options
 long_options.each do |arg|
 arg, desc = arg.split(';', 2)
 opt, val = arg.split(':', 2)
 if val
 result[opt] = val.empty? ? nil : val
 define("--#{opt}=#{result[opt] || "VAL"}", *[desc].compact)
 else
 result[opt] = false
 define("--#{opt}", *[desc].compact)
 end
 end
 parse_in_order(argv, result.method(:[]=))
 result
 end

AltStyle によって変換されたページ (->オリジナル) /