はじめに
オプション数が多いコンソールアプリケーションを開発していると、引数を制御するコードが複雑になってしまいがちです。そこで本稿ではCommand Line Parser Libraryというオープンソースを紹介します。このライブラリを使うとフィールドに属性を宣言するだけで引数を簡単に扱うことができます。
Command Line Parser Libraryとは
Command Line Parser Libraryは.NET向けのコマンドラインパーサーです。CodePlexにて開発(MIT License)されており、.NET Framework2.0以上の環境で動作します。 本稿では最新バージョンの「libcmdline-1.7.10.5-beta-bin.zip」を入手し「CommandLine.dll(libcmdline-bin-Releaseフォルダ)」を使用しています。
コマンドラインパーサーを使うメリット
Command Line Parser Libraryを使うメリットは次の通りです。
・引数の文字列を解析しなくて良い
・フィールドに属性を定義するだけで、引数の値を利用できる
・短縮名、正式名称、必須チェック、複数指定といった設定が簡単にできる
・ヘルプを表示できる
サンプルアプリケーションの説明
それでは、四則演算を行うサンプルアプリケーションを見ていきましょう。
パラメータオプションは次の4種類です。
引数のオプション一覧
説明 | 短縮名 | 正式名 | 必須 | 複数指定 |
---|---|---|---|---|
計算対象の数字1 | x | numx | ○ | × |
計算対象の数字2 | y | numy | ○ | × |
演算子(+,-,*,/) | o | なし | ○ | ○(カンマ区切) |
画面に表示する説明 | なし | desc | × | × |
コマンドの例を見てみましょう。
コマンドの例(2+3)
ConsoleSample.exe -x 2 -y 3 -o + --desc 2+3を計算
短縮名(1文字)はハイフン1つ、正式名はハイフン2つで認識されます。値は半角スペースの後でセットします。
他のコマンド例も見てみましょう。
コマンドの例(6×2と6÷2)
ConsoleSample.exe -x6 --numy=2 -o *,/ --desc="6×2 と 6÷2を計算"
短縮名の場合は「-x6」のように半角スペース無しで値を設定できます。正式名の場合は「--numy=2」のようにイコールの後に値を設定できます。