3
3

Optparseの基本的な使い方について

Posted at

はじめに

今回はOptparseとは何か、Optparseの基本的な使い方について記載していきます。

Optparseとは

Optparseとはコマンドラインでのオプションを取り扱うためのライブラリです。
Optparseを使うことで、例えば入力されたオプションの引数を取得→取得した引数をどうこうするといったことができるようになります。
私が使用した例だと、コマンドラインの引数に指定された月のカレンダーを表示するというところでOptparseを使用しました。

# オプション・・・-m
# -mの引数・・・9
$ ruby calendar.rb -m 9

使い方

# ①ライブラリ読み込み
require 'optparse'

# ②OptionParser オブジェクト opt を生成
opt = OptionParser.new

#  オプションを取り扱うブロックを opt に登録
# 引数が指定された時の処理をブロック{}で記載
opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }

# opt.parse(ARGV) でコマンドラインを実際に parse する
# コマンドラインの解析を行う、結果はARGVに格納される
opt.parse!(ARGV)
p ARGV

入力値

$ ruby sample.rb -a foo bar -b baz

出力結果

# オプション(-a)が指定されたのでtrue
true
# オプション(-b)が指定されたのでtrue
true
["foo", "bar", "baz"]

オプションの引数を必須にする

$ ruby sample.rb -a foo bar -b baz -aオプションの引数は必須としたい場合などですね

require 'optparse'
opt = OptionParser.new

# -a オプションの後にVALを追加
opt.on('-a VAL') {|v| p v }    
opt.on('-b') {|v| p v }

opt.parse!(ARGV)
p ARGV

①入力値 -aオプションを引数なしで指定

$ ruby optparse.rb -a

①結果 引数がありませんとエラーが返される

optparse.rb:7:in `<main>': missing argument: -a (OptionParser::MissingArgument)

②入力値 -aオプションを引数ありで指定

$ ruby optparse.rb -a foo bar -b baz

②結果

"foo"
true
["bar", "baz"]

参考文献

3
3
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
3
3