Ruby optparseについて

 

optparseとは

 Rubyではオプション解析を良い感じにやってくれるライブラリが用意されており、それがoptparseです。

OptionParserオブジェクトを作成し、そのオブジェクトに対して、コマンドラインオプションを追加することができる

 

  • parse()メソッド: コマンドライン引数を解析するためのメソッドである。引数として、コマンドライン引数のリストを渡すことができる
  • on()メソッド: コマンドラインオプションを追加するためのメソッドである。引数として、オプションの名前、エイリアス、説明、ブロックを渡すことができる
  • accept()メソッド: 引数の型を定義するためのメソッドである。引数として、型とその型に対応するブロックを渡すことができる
  • OptionParser::Completionクラス: コマンドラインオプションの補完を行うためのクラスである。OptionParserオブジェクトに対して、Completionオブジェクトを追加することができる

 

Class: OptionParser (Ruby 2.5.1)

class OptionParser - Documentation for Ruby 2.1.0

GitHub - ruby/optparse: OptionParser is a class for command-line option analysis.

HOWTO parse command line options with Ruby OptionParser · ReadySteadyCode

https://apidock.com/ruby/OptionParser

alchemists.io

基本的な使い方

 

require 'optparse'

# 1. OptionParserオブジェクトを作成する。
opt_parser = OptionParser.new do |opts|
  opts.banner = "Usage: example.rb [options]"

  # 2. OptionParserオブジェクトに対して、コマンドラインオプションを追加する。
  opts.on("-f", "--file FILE", "File name") do |file|
    puts "File name: #{file}"
  end

  opts.on("-n", "--number NUMBER", Integer, "Number") do |number|
    puts "Number: #{number}"
  end

  opts.on("-s", "--string STRING", "String") do |string|
    puts "String: #{string}"
  end
end

# 3. parse()メソッドを呼び出して、コマンドライン引数を解析する。
opt_parser.parse!