OptConfig

最新情報は、optconfig.rubyforge.orgへ。

OptConfig はオプション引数を処理するためのライブラリです。 設定ファイルに記述したオプションを読み込むこともできます。

ダウンロード

tmtm.org

使い方

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"

デフォルトでは、ファイル中に未知のオプションがあってもエラーにはならず無視されます。

クラスメソッド

OptConfig.new()
OptConfig オブジェクトを生成して返します。

インスタンスメソッド

OptConfig#options=hash
指定可能なオプションの規則をHashで指定します。 Hash のキーはオプション名文字列で、値は次のいずれかです。
nil または falseオプションの引数なし
trueオプションの引数あり
正規表現オプションの引数の形式を指定
OptConfig#idlist=[id, ...]
オプションファイルから読み込むセクション名の配列を指定します。
OptConfig#file=filename
オプションが書かれたファイル名を指定します。
OptConfig#ignore_unknown_file_option=flag
true の場合はファイル中の未知のオプションを無視します。 false の場合は OptConfig::Error 例外が発生します。 デフォルトは true です。
OptConfig#parse([arg, ...])
引数を解釈します。オプション形式の引数の数を返します。
OptConfig#parse!([arg, ...])
引数を解釈します。オプション形式の引数の数を返します。 引数の配列はオプションとして解釈された要素が削除されます。
OptConfig#[optname]
オプションの値を返します。
OptConfig#key?(optname)
オプションが指定されていれば真。
OptConfig#hash
{optname=>value, ...} のHashオブジェクトを返します。

履歴

0.3.1 2005-11-02
0.3 2005-06-30
0.2 2005-01-17

TOMITA Masahiro
Last modified: Wed Nov 2 11:57:03 JST 2005