parse(argv, into: nil, exact: self.require_exact) -> [String][permalink][rdoc][edit]parse(*args, into: nil, exact: self.require_exact) -> [String]-
与えられた argv をパースします。 argv からオプションを取り除いたものを返します。
OptionParser#permute と同様に振舞います。しかし、環境変数に POSIXLY_CORRECT が設定されている場合は、 OptionParser#order と同様に振舞います。
- [PARAM]
argv: - パースしたい引数を文字列の配列で指定します。
- [PARAM]
args: - パースしたい引数を順に文字列として与えます。
- [PARAM]
into: - オプションを格納するハッシュを指定します。指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブロックの値が格納されます。キーの名前はロングオプションが定義されていればロングオプションの値を、ショートオプションのみの場合はショートオプションの値から、先頭の "-" を除いてシンボル化した値が使用されます。
- [PARAM]
exact: - 真を指定すると、ロングオプションを省略した形(OptionParser#require_exact を参照)を受け付けなくなります。省略時は OptionParser#require_exact の値です。
- [EXCEPTION]
OptionParser::ParseError: - パースに失敗した場合、発生します。実際は OptionParser::ParseError のサブクラスになります。
例 exact を指定するrequire "optparse" opts = OptionParser.new do |opts| opts.on_head("-i", "--init") opts.on("-u", "--update") opts.on_tail("-h", "--help") end p ARGV # => ["-i", "-u", "-h", "test"] p opts.parse(ARGV) # => ["test"]require "optparse" opts = OptionParser.new opts.on("--verbose") p opts.parse(["--verb", "x"]) # => ["x"] begin opts.parse(["--verb", "x"], exact: true) rescue OptionParser::InvalidOption => e puts e.message # => invalid option: --verb end - [PARAM]