コマンドラインオプションの解析

rubyコマンドライン引数の解析をする場合は、optparse を使えばいい。

require 'optparse'
opts = OptionParser.new

# -a オプションがしてされているかどうかの判定
opts.on("-a") {|v| puts v }
#=> true

# -l --long オプション指定時
opts.on("-l", "--long") {|v| puts v }
#=> true

# -m [OPT] --mmm=OPT 指定時
opts.on("-m OPT", "--mmm OPT") {|v| puts v }
#=> OPTの値

optsparse!

opts.on でオプションが指定された時のコードを記述する。また、オプションに値を渡す場合は、opts.on の引数にオプションと値を記述すればよい。

また、opts.on で記述した内容は opts.parse した時点で評価される。破壊的メソッド(parse!)を指定した場合、parse! を実行後 ARGV からオプションの記述が削除される。