instance method OptionParser::Arguable#getopts

getopts(short_opt, *long_opt) -> Hash[permalink][rdoc][edit]

指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。

コマンドラインに - もしくは -- を指定した場合、それ以降の解析を行ないません。

[PARAM] short_opt:
ショートネームのオプション(-f や -fx)を文字列で指定します。オプションが -f と -x の 2つの場合は "fx" の様に指定します。ここでオプションがないときは空文字列を指定します。オプションが引数をとる場合は直後に ":" を付けます。
[PARAM] long_opt:
ロングネームのオプション(--version や --bufsize=512)を文字列で指定をします。オプションが引数をとる場合は後ろに ":" を付けます。オプションの引数のデフォルト値を ":" の直後に指定することができます。例えば、"bufsize:1024" となります。
[EXCEPTION] OptionParser::ParseError:
自身のパースに失敗した場合、発生します。実際は OptionParser::ParseError のサブクラスの例外になります。
t.rb

require 'optparse'
params = ARGV.getopts("ab:", "foo", "bar:", "bufsize:1024")
p params
# 実行結果
$ ruby t.rb -b 1 --foo  --bar xxx -- -a
{"bufsize"=>"1024", "a"=>false, "b"=>"1", "foo"=>true, "bar"=>"xxx"}  # "a"=>false であることに注意。