如何在ruby的OptionParser中使用变量参数

我不太了解ruby,但我正在尝试为这个脚本添加一些function,一位同事写道。

基本上现在它需要一些标志和标准作为输入,它使用OptionParser来解析标志。

我想使用OptionParser来解析一系列类似于cat的命令行参数。 所以我想我的问题是如何编写使用OptionParser解析ruby中cat部分的命令行选项

cat [OPTION]... [FILE]... 

希望有意义,任何帮助都表示赞赏。

 OPTS = {} op = OptionParser.new do |x| x.banner = 'cat  ' x.separator '' x.on("-A", "--show-all", "Equivalent to -vET") { OPTS[:showall] = true } x.on("-b", "--number-nonblank", "number nonempty output lines") { OPTS[:number_nonblank] = true } x.on("-x", "--start-from NUM", Integer, "Start numbering from NUM") { |n| OPTS[:start_num] = n } x.on("-h", "--help", "Show this message") { puts op; exit } end op.parse!(ARGV) # Example code for dealing with filenames ARGV.each{ |fn| output_file(OPTS, fn) } 

正如他们所说,我将把其他命令行操作留给读者练习! 你明白了。

(注意:我必须发明一个虚构的-x参数来演示在标志之后传递一个值。)

更新:我应该已经解释过,这将使ARGV成为一个文件名数组,假设用户已输入任何文件名。