optparseとは?
optparseはRubyの標準ライブラリの1つであり、コマンドラインのオプションを扱うためのライブラリです。
簡単に言うと、-a
や-b
などの好きなオプションを自分自身で作成することができるようになります。
オプションの設定・定義
オプションの作成例です。
require 'optparse' opt = OptionParser.new opt.on('-a') {|v| p v } opt.on('-b') {|v| p v } opt.parse!(ARGV) p ARGV
まず。、optparseオブジェクトを生成(インスタンス化)を行い、OptionParser#on
メソッドでオプションの設定、つまりどの文字をコマンドライン上で実行できるかの設定ができます。
上記の例では、-a
と-b
をオプションに取ることができます。ブロック内にはオプションが指定できた場合にはtrueが渡されます。
OptionParser#parse!
により、コマンドライン(ARGV)の解析を行い、 OptionParser#parse!
では、ARGV からオプションである-a
や-b
などが取り除くことができます。オプションを残したければOptionParser#parse
を使います。
ruby sample.rb -a foo bar -b baz # => true true ["foo", "bar", "baz"]
上記が実行例となります。今回はfoo
とbar
とbaz
がオプションとして実行されました。オプションが存在するtrue
も結果としてあります。
また、opt.on("-m value") {|v| p v}
と、オプションのあとに指定された引数がブロック内のv
に渡されて、value
を表示させることもできます。