はじめに
ターミナルでls -a
やruby -v
などオプションを指定するとそれに対応する実行がされるが、rubyで自身でオプションが作れないかと思ったところこのoptparse
の存在を知った。
バージョン
ruby 3.1.3
optparseとは
- rubyにデフォルトで搭載されている標準ライブラリの1つ。
- コマンドラインのオプション操作を取り扱う時に使われる。
optparseを使ってみる
今回はオプションで指定した数字の5の倍数を出力することを目標とします。
まずは完成品のコードになります。
optparse.rb
require 'optparse'
opt = OptionParser.new
opt.on('-n') {|v| v}
opt.parse(ARGV)
select_number = ARGV[1].to_i
p select_number * 5
ターミナルでは-n
オプションを指定し、引数に6を入れる想定とします。
terminal
$ ruby optparse.rb -n 6
$ 30
5の倍数なので30
になれば正解です。
optparse.rb
opt.on('-n') {|v| v}
まずここで-n
オプションを設定しています。
optparse.rb
opt.parse(ARGV) # ["-n", "6"]
指定したオプションを文字列で配列として受け取ることができます。
optparse.rb
select_number = ARGV[1].to_i
数字が入っているのは配列の1番目なのでこれを受け取り、to_i
でint型に変換します。
optparse.rb
p select_number * 5
これで30
と出力されます。
おわりに
今回は簡単な使い方でしたがもっと難しい使い方もあると思います。
ぜひ使ってみてください〜