names=permute!
visibility=public
kind=defined

--- permute!(argv = self.default_argv)    -> [String]

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv を返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。

@param argv パースしたい引数を文字列の配列で指定します。

@raise OptionParser::ParseError パースに失敗した場合、発生します。
                                実際は OptionParser::ParseError のサブク
                                ラスになります。

例:

  $ cat opt.rb
  require 'optparse'
  opt = OptionParser.new

  opt.on('-a [VAL]') {|v| p :a }
  opt.on('-b ') {|v| p :b }

  opt.permute!(ARGV)
  p ARGV

  $ ruby opt2.rb -a foo somefile -b
  :a
  :b
  ["somefile"]

