はじめに
optparseとは?
プログラムをコマンドラインで実行するとき、オプションや引数を指定できるようにするRubyの標準ライブラリです。
ライブラリについて、わからない人は以下の記事を一読すると良いかと思います。
オプション定義のコード例
次の項でこちらのコードに関して、説明していきたいと思います。
sample.rb
require 'optparse'
opt = OptionParser.new
opt.on('-a') do |v|
p v
end
opt.parse!(ARGV)
p ARGV
実行結果↓
ruby sample.rb -a foo
# => true
["foo"]
コードの解説 (使い方)
1. optparseライブラリの読み込み
optparseはRubyの組み込みライブラリではないため、使用するためには読み込む必要があります。
require 'optparse'
2. OptionParserクラスのインスタンス作成
オプションや引数の定義と処理を行うためのオブジェクトoptを生成します。
opt = OptionParser.new
3. OptionParserのonメソッドを利用
オプションや引数の定義と処理を指定します。onメソッドは、オプションや引数が指定されたときに実行されるブロックを受け取ります。
※他のeachメソッドなどとは異なり、ブロック内の処理は登録されるだけで、実行はされません。
opt.on('-a') do
# -aが指定されたときの処理を書く
end
4. opt.parse!でコマンドライン引数を解析
引数を解析し、定義したオプションや引数の処理を実行します。ARGVは、コマンドライン引数の配列を表しており、parse!メソッドによりそれらの引数が解析されます。
opt.parse!(ARGV)
以上がコマンドラインでオプションを使うための流れです!さらに詳しい内容が公式リファレンスに記載されてありますので、ご参照ください。
参考