最新情報は、optconfig.rubyforge.orgへ。
OptConfig はオプション引数を処理するためのライブラリです。 設定ファイルに記述したオプションを読み込むこともできます。
OptConfig.new でオブジェクトを作成し、OptConfig#options= で指定可能なオプションを設定します。 OptConfig#parse でオプションを解釈します。 OptConfig#parse は解釈できた引数の個数を返します。 オプションに設定された値は OptConfig#[] で取り出せます。 「--」はオプションの解釈をそこで中断します。 「-」はオプションではなく通常の引数として解釈されます。
opt = OptConfig.new opt.options = {"a"=>true, "b"=>nil, "c"=>/^\d+$/} opt.parse(["-a", "hoge", "-b", "-c99", "arg1"]) # => 4 opt["a"] # => "hoge" opt["b"] # => true opt["c"] # => "99"
options= で指定していないオプションが parse に渡された時は OptConfig::Error 例外が発生します。
オプションはファイルから読み込むこともできます。 OptConfig#file= でファイル名を指定してから OptConfig#parse します。 ファイルの内容は次の形式です。
optname = value
オプション名と値の間の「=」は空白文字でも構いません。
また、ファイル中に [識別子] を置くことで、識別子以降のオプションのみを読み込むことができます。
[ident1] opt1 = value1 [ident2] opt2 = value2
opt.file = "/path/to/optfile" opt.idlist = ["ident1"] # 識別子を "ident1" に設定 opt.parse([]) # opt1 のみ読み込み opt["opt1"] # => "value1"
デフォルトでは、ファイル中に未知のオプションがあってもエラーにはならず無視されます。
nil または false | オプションの引数なし |
true | オプションの引数あり |
正規表現 | オプションの引数の形式を指定 |