0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

自作のプログラムでオプションを使えるようにする(optparse)

Posted at

前提

自分で何かプログラムを作成し、ターミナルでそれを実行します。その際オプションをつけ、引数を1つ指定できるようにすることを目標とします。
そういった時に使えるoptparseについて学んだので使い方を簡単にまとめておきます。

optparseとは

  • Rubyの標準ライブラリの1つ
  • コマンドラインのオプションを取り扱うライブラリ

使い方

基本的には以下の流れになります。

  1. optparseをrequireする
  2. OptionParser オブジェクト opt を生成する
  3. オプションを取り扱うブロックを opt に登録する
  4. opt.parse(ARGV) でコマンドラインを実際に parse する

それぞれ詳しく見ていきます。

1. optparseをrequireする

optparseは組み込みライブラリではないので、まず最初にrequireする必要があります。

sample.rb
require 'optparse'

2. OptionParser オブジェクト opt を生成する

次にOptionParserオブジェクトを生成します。

sample.rb
opt = OptionParser.new

3. オプションを取り扱うブロックを opt に登録する

今回はオプションの引数に指定された値を後の処理で使いたいことを想定しています。そういった場合はparamsなどを用意してそこに値を格納します。
-mのところでオプションとして-mを受け付けるようにして、その後ろのVALで引数を受け付けることの指定をしています。
ここはあくまでも登録をしているだけでこれだけでは実行されません。

sample.rb
params = {}
opt.on('-m VAL') { |v| params[:m] = v }

4. opt.parse(ARGV) でコマンドラインを実際に parse する

これでパースします。
parseが呼ばれた時に、コマンドラインにオプションが指定されていれば3で登録した処理が実行されます。

sample.rb
opt.parse!(ARGV)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?