optparseとは?

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"]

上記が実行例となります。今回はfoobarbazがオプションとして実行されました。オプションが存在するtrueも結果としてあります。 また、opt.on("-m value") {|v| p v}と、オプションのあとに指定された引数がブロック内のに渡されて、valueを表示させることもできます。