command/console.rb に標準ライブラリの optparse が使ってあったが、管理人は使ったことがなかったので、ネット検索してみた。Ruby リファレンスマニュアルの optparse::チュートリアルを読むと次の順序で使うとのことだ。
1. OptionParser オブジェクト opt を生成する。 2. オプションを取り扱うブロックを opt に登録する。 3. opt.parse(ARGV) でコマンドラインを実際に parse する。 1番のOptionParserオブジェクトを生成する。というのは、require 'optpase' で OptionParser クラスがロードされるので、そのオブジェクトを作るということだ。次のように、コーディングする。 opt = OptionParser.new 簡単だ、2番のオプションをとり扱うブロックを opt に登録するというのは、たとえば、-f というコマンドラインオプションがあった時、foo という処理をしたければ、OptionParser の on メソッドを使って、-f というオプションと foo という処理を opt に登録する。処理の方の foo はブロックで渡すことになる。コードのスタイルとしては、 opt.on('-f') { foo } のようになる。3番目の parse! メソッドで実際に ARGV として渡された引数のリストからオプションを選びだして抜き出し、それぞれの処理をすることになる。parse! のように ! がついているのは、ARGVのリストからオプションは抜き出されてしまうからだ。コード例は次のようになる。 opt.parse!(ARGV) optparse::チュートリアルにならって次のような sample.rb を作ってテストしてみた。 ファイル名: sample.rb require 'optparse' opt = OptionParser.new opt.on('-a') {|v| p v} opt.on('-b') {|v| p v} opt.parse!(ARGV) p ARGV 実行例 C:\Users\********\Ruby>ruby sample.rb -a foo -b bar buz true true ["foo", "bar", "buz"] こんな便利なものをどうして今まで使わなかったのだろう。 大きいアプリケーションを探索するのは億劫だが、ロールプレイングゲームだと考えると気が楽になる。たとえば、この optparse などはさしずめ迷路で見つけた宝箱だ。全クリできるかどうかは自信がないが、ときどき、Rails の迷路を探索するのも悪くはない。
by tnomura9
| 2008-10-30 17:08
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||