LoginSignup
0
0

Optparseの使い方

Posted at

optparseを使う機会があったので、整理を兼ねて使い方を書いてみます。

Rubyでは沢山のライブラリが用意されており、Gemfileを通して追加することなく使用できるものが沢山用意されています。
その中でも特に使用頻度が高いとされているものは組み込みライブラリと呼ばれ、requireを使って呼び出すことなくそのまま使用することができます。
optparseはコマンドライン上でオプションを受け取る為の呼び出しが必要な標準ライブラリです。
optparseを使う時は以下の3ステップを踏んで進めていきます。

1, OptionParserを使ってオブジェクトoptを生成

require 'optparse'
opt = OptionParser.new

2, オプションを扱うブロックを作成

opt.on('-m int') {|m| month << m.to_i}

onメソッドでoptオブジェクトに登録するオプションを定義する。
-mで数値として(intで数値として指定)受け取ったオプションをブロック内でmonthという変数に入れる。
オプションとして受け取った時は文字列になっているので、数値として扱いたい時はto_iメソッドで変更する。

3, コマンドラインで受け取ったオプションを分離する

opt.parse!(ARGV)

ARGVにコマンドラインで受け取ったオプションと引数が代入されており、parseすることで引数だけに分離することができる

実際のコードを書いてみると以下のようになります。

require 'optparse'
opt = OptionParser.new

month = []
opt.on('-m int') {|m| month << m.to_i}
p ARGV

opt.parse!(ARGV)

p month

上記のコードを実行した結果

$ ruby sample.rb -m 12
["-m", "12"]
["12"]

opt.parse!(ARGV)の時点でオプションと引数が分離され引数がmonthに代入される

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