我不太了解
ruby,但我正在尝试为这个脚本添加一些功能,一位同事写道.
基本上现在它需要一些标志和标准作为输入,它使用OptionParser来解析标志.
我想使用OptionParser来解析一系列类似于cat的命令行参数.所以我想我的问题是如何编写使用OptionParser解析ruby中cat部分的命令行选项
cat [OPTION]... [FILE]...
希望有意义,任何帮助都表示赞赏.
解决方法
OPTS = {} op = OptionParser.new do |x| x.banner = 'cat <options> <file>' 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参数来演示在标志之后传递一个值.)