optparseとは
optparseとはコマンドラインのオプションを取り扱うためのライブラリであり、Rubyプログラムでコマンドラインユーザーインターフェースを簡単に実装するために使用されます。
optparseの使い方
- 下記のように記述することでoptparseライブラリをインポートすることができます。
require 'optparse'
- デフォルトのオプションや変数を設定します。
options = {}
- OptionParserを使用してコマンドラインオプションと引数を定義します。
- opts.bannerは、OptionParser オブジェクト内でコマンドラインヘルプメッセージを定義するための属性です。ここで定義したメッセージはユーザーがヘルプオプションを使用してヘルプ情報を表示したときに表示されます。
- opts.on は、コマンドラインオプションを定義するためのメソッドです。このメソッドは、オプションのショートフォーム(-f)およびロングフォーム(--fruit)を指定し、そのオプションが受け取る値の説明を定義できます。ブロック内のコードは、オプションが指定されたときに実行されます。
OptionParser.new do |opts|
opts.banner = "Usage: fruit_info.rb [options]"
opts.on("-f", "--fruit FRUIT", "Specify a fruit") do |fruit|
options[:fruit] = fruit
end
opts.on("-t", "--taste TASTE", "Specify the taste of the fruit") do |taste|
options[:taste] = taste
end
end.parse!
- オプションで実際に行う処理の中身を記述します。
if options[:fruit]
puts "Fruit: #{options[:fruit]}"
# ここで、指定されたフルーツに関する情報を取得できるロジックを追加
else
puts "Please specify a fruit using -f or --fruit option."
end
if options[:taste]
puts "Taste: #{options[:taste]}"
end
上記のように記述することで、コマンドラインで実行する際に引数を指定して、コードを実行することが可能となります。
今回の例だとコマンドライン引数として -f または --fruit オプションを使用してフルーツ名を指定し、-t または --taste オプションを使用してそのフルーツの味を指定できます。
- コマンドラインでのコードの実行することができます。
ruby fruit_info.rb -f Apple -t Sweet
このコマンドは、"Apple" というフルーツの情報を表示し、その味を "Sweet" と設定します。
まとめ
「optparseの使い方」で説明したように、optparseを使用することで、コマンドライン引数に対応したRubyプログラムの実行が可能となります。