Ruby OptionParser を使用していますが、オプション以外の引数を 2 つのリストとして取得する方法がわかりません。
myscript --option-one --option-two file1 file2 -- file10 file11
OptionParser から 2 つのファイル リストを別々に取得する方法はありますか?
[file1, file2]
[file10, file11]
それらのどれがARGVに残っているかは気にしません。2つのリストを別々に作成して、それらを異なる処理に送信したいだけです。
私の現在の解決策は
--
次のようにハンドラを追加するopts.on('--', 'marks the beginning of a different list of files') do ARGV.unshift(:separator) end
これにより、次の内容の ARGV が生成されます
[ file1, file2, :separator, file10, file11 ]
そして、OptionParser の外側で呼び出された後
parse!
、私は変更しますARGV
list1 = ARGV.shift(ARGV.index(:separator)) ARGV.shift
それを達成するためのよりエレガントな方法はありますか?