order(argv, into: nil) -> [String]
[permalink][rdoc]order(argv, into: nil) {|s| ...} -> [String]
order(*args, into: nil) -> [String]
order(*args, into: nil) {|s| ...} -> [String]
与えられた argv を順番にパースします。オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。
ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。
下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。-b もコマンドのオプションではない引数として扱われてしまいます。
例:
$ cat opt.rb require 'optparse' opt = OptionParser.new opt.on('-a [VAL]') {|v| p :a } opt.on('-b') {|v| p :b } opt.order(ARGV) p ARGV $ ruby opt2.rb -a foo somefile -b :a ["-a", "foo", "somefile", "-b"]