Options --- パラメタ解析クラス(C#版) 1. 概要 アプリケーションのパラメタ解析を行うクラス(ライブラリ) 2. パラメタの書式 Optionクラスが扱うパラメタの種類とその書式を示す。 [フラグオプション] - 初期化時の書式 オプション名[+] - 実行時の書式 [-/]<オプション名>[-] パラメタが指定されていれば真、指定されなければ偽となる。 -debug- などのように後ろに '-' を指定すると否定になり、 偽が設定される。 同じパラメタを2回指定した場合には後から指定したものが有効となる。 初期化時に '+' をつけるとデフォルトで有効となる。 [値オプション] - 初期化時の書式 オプション名:[初期値] - 実行時の書式 [-/]<オプション名> 特定のオプションに任意の文字列を指定できる。 初期化時に初期値を指定可能。 同じパラメタを2回指定した場合には後から指定したものが有効となる。 [値オプション(複数)] - 初期化時の書式 オプション名::[初期値] - 実行時の書式 [-/]<オプション名> 特定のオプションに任意の文字列を指定できる。 初期化時に初期値を指定可能。 同じパラメタを2回指定した場合には両方の文字列が有効になる。 内部的には配列として管理される。 Option クラスで扱えないもの。 - --version などの '--' で始まるオプション - 必須パラメタの指定 - -x300 -y400 または -i: のようなオプション名と値を分離しない書式 3. 使い方 try { Option opts = new Options("debug|out:a.exe"); if (! opts.Parse(args)) { Console.WriteLine("usage: app.exe -debug -out "); return; } } catch { Console.WriteLine("error: failed to option initialize."); return; } -------- C:\>app -debug -out a.txt 4. リファレンス Options ------- [初期化] Options(string names) --- コンストラクタ [解析] bool Parse(string[] args) [個別パラメタの取得] bool IsChecked(string name) string GetValue(string name) int GetValuesCount(string name) string GetValuesItem(string name, int index) int FreeArgSize string GetFreeArg(int index) [デバッグ用] void Dump() 5. メモ オプション名に誤りがあるとき、現在はエラーとせず、false または空文字列を返す が、例外のほうがよいか? 6. 修正履歴 ver0.01 2003.12.08 新規作成 7. 使用条件、免責 本プログラムはフリーソフトウエアです。 配布は自由に行うことができます。 本プログラムは無保証です。 本プログラムの使用においた生じた如何なる損害についても作者は一切の責任を負 いません。 金子尚史(kanegon) e-mail : wbs01621@mail.wbs.ne.jp WebPage : http://www2.wbs.ne.jp/~kanegon/