Ruby 4.1 リファレンスマニュアル

instance method OptionParser#make_switch

make_switch(opts, block = nil) -> ArrayRuby 3.0 から[permalink][rdoc][edit]

OptionParser#onOptionParser#on_headOptionParser#on_tail などがオプションを登録する際に内部で使う、下請けのメソッドです。 opts からオプションの短縮形・完全形・引数の変換方法・説明文などを解析し、その結果をまとめた配列を返します。

戻り値は以下の要素からなる配列です。

  • オプションの引数を解析するオブジェクト(OptionParser::Switch のインスタンス)
  • ショートオプション名の配列("-" を除いた文字列)
  • ロングオプション名の配列("--" を除いた文字列)
  • "--[no-]xxx" 形式のオプションを指定した場合の、否定形を扱う同様のオブジェクト(それ以外は nil)
  • 否定形のロングオプション名の配列(例: "no-xxx")
[PARAM] opts:
OptionParser#on に指定するのと同じ形式の引数の配列を指定します。
[PARAM] block:
オプションが指定されたときに呼ばれるブロックを指定します。 opts の要素として ProcMethod を含めることでも指定できます。
require 'optparse'

parser = OptionParser.new
switch, short, long, = parser.make_switch(["-x", "--example VALUE", "説明"])
p short # => ["x"]
p long  # => ["example"]

[SEE_ALSO] OptionParser#on