主に Object::ARGV を拡張するために用意されたモジュールです。 optparse を require することにより、ARGV は OptionParser::Arguable を Object#extend します。
コマンドライン引数を表す文字列の配列を、拡張するためにも使うことができます。
getopts(short_opt, *long_opt) -> Hash
[permalink][rdoc]指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。
コマンドラインに - もしくは -- を指定した場合、それ以降の解析を行ないません。
例:
# t.rb の内容 require 'optparse' params = ARGV.getopts("ab:", "foo", "bar:", "bufsize:1024") p params # 実行結果 $ ruby t.rb -b 1 --foo --bar xxx -- -a {"bufsize"=>"1024", "a"=>false, "b"=>"1", "foo"=>true, "bar"=>"xxx"} # "a"=>false であることに注意。
options -> OptionParser
[permalink][rdoc]options {|opt| ... } -> object | nil
自身をパースするための OptionParser オブジェクトを返します。初回呼び出し時に自動的に生成されます。この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。ブロックの実行結果を返します。ブロックの実行途中で OptionParser::ParseError が発生した場合は、全て rescue し、エラーメッセージを出力し、 nil を返します。
例:
require 'optparse' o = nil ARGV.options{|opt| opt.on('-a'){ o = true } opt.parse! } p o #=> true
options=(opt)
[permalink][rdoc]自身をパースするための OptionParser オブジェクトをセットします。
order! -> [String]
[permalink][rdoc]order! {|s| ... } -> [String]
自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#order! を参照して下さい。
例:
require 'optparse' o = nil ARGV.options.on('-a'){ o = true } ARGV.order! p o #=> true
parse! -> [String]
[permalink][rdoc]自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#parse! を参照して下さい。
例:
require 'optparse' o = nil ARGV.options.on('-a'){ o = true } ARGV.parse! p o #=> true
permute! -> [String]
[permalink][rdoc]自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#permute! を参照して下さい。
例:
require 'optparse' o = nil ARGV.options.on('-a'){ o = true } ARGV.permute! p o #=> true