タグ

2011年10月31日のブックマーク (1件)

  • 気の利いたコマンドラインオプションの解釈の仕方 - @kyanny's blog

    rails-log-block-grep を書いてたときに、コマンドラインオプションの扱いにも「おもてなしの心」が大事だなと思うことがあったので書いておく。 grep(1) には --color というオプションがあって詳細は man 1 grep 読んでもらうとして、 [always|never|auto] のいずれかを指定するか、値は省略することもできる(その場合 auto がデフォルト)この挙動を Ruby 標準添付の OptionParser でどう書けば実現できるか、という話。 ふつうに opts.on を並べて opts.parse! してから pattern = ARGV.shift などとすると、コマンドライン引数の誤解釈がおこってしまい正常に動作しない。 --color オプションの引数を任意(必須ではない)にするだけではダメで、 parse! 後に ARGV が壊れてい

    気の利いたコマンドラインオプションの解釈の仕方 - @kyanny's blog