【ハウツー】
オプション数が多いコンソールアプリケーションを開発していると、引数を制御するコードが複雑になってしまいがちです。そこで本稿では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」のようにイコールの後に値を設定できます。
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
【レポート】【2010年非オタ編】成功したと思う歴代深夜アニメランキング [13:00 5/27] ホビー |
|
[東京スカイツリータウン]1/2000の模型が登場 スカイツリーやオフィス、駅など精巧に再現 [12:00 5/27] ホビー |
|
【連載】これだけは要チェック! TOEIC(R)単語帳 第106回 今回のお題は…「afterward」 [12:00 5/27] キャリア |
|
【レポート】駆け出しイラストレーターのでこ、自分のDTPスキル不足を憂うの巻 [12:00 5/27] クリエイティブ |
|
AKB48指原莉乃がアシカとコラボ!「センターになりたいです…とか言えたら」 [11:30 5/27] エンタメ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。