はじめに
コマンドラインのオプションを扱うライブラリoptparseについてまとめます。
optparseを使うことで、以下のようにRubyプログラム実行時にオプションを追加することが出来ます。
ruby sample.rb -a 10
使い方
sample.rb
require 'optparse'
opt = OptionParser.new
opt.on('-a') {|v| p v } # オプション'-a'追加
opt.parse!(ARGV)
p ARGV # => オプション'-a'の入力した値が表示される
オプション'-h'と'--help'はデフォルトで登録されているようです。
$ ruby sample.rb --help
または $ ruby sample.rb -h
を実行すると登録されているオプションが確認できます。
$ ruby sample.rb -h
[実行結果]
=> Usage: sample [options]
=> -a
説明文を追加するには
opt.on('-a', 'ここに説明文を書いてください')
パラメータの入力を強制する
OptionParser#on メソッドのオプション定義で末尾に何かを書くと、そのオプションは引数を受け付けることの指定となります。
opt.on('-a VAL') # VALを追加
$ ruby sample.rb -a
# パラメータを省略して実行するとエラー
# missing argument: -a (OptionParser::MissingArgument)
パラメータの入力が必須でない場合
オプションの引数が必須でないことを示すには、" [" を付けます。
opt.on('-a [VAL]')
$ ruby sample.rb -a
# => nil
[]
参考ページ