Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > optparseライブラリ > OptionParserクラス > permute
permute(argv, into: nil) -> [String]
[permalink][rdoc]permute(*args, into: nil) -> [String]
与えられた argv をパースします。オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことができます。
require 'optparse'
opt = OptionParser.new
opt.on('-a [VAL]') {|v| p :a }
opt.on('-b ') {|v| p :b }
opt.permute!(ARGV)
p ARGV
↓
$ ruby opt.rb -a foo somefile -b :a :b ["somefile"]