我需要解析一个命令行,比如
script.rb <mandatory filename> [options]
optparse美元.
当然,我可以编写一些自定义代码来处理文件名,然后将ARGV
传递给optparse,但也许有一种更简单的方法可以做到这一点?
编辑:还有另一种破解方法来解析这样的命令行,那就是将['--mandatory-filename'] + ARGV
传递给optparse,然后处理--mandatory-filename
选项.
我需要解析一个命令行,比如
script.rb <mandatory filename> [options]
optparse美元.
当然,我可以编写一些自定义代码来处理文件名,然后将ARGV
传递给optparse,但也许有一种更简单的方法可以做到这一点?
编辑:还有另一种破解方法来解析这样的命令行,那就是将['--mandatory-filename'] + ARGV
传递给optparse,然后处理--mandatory-filename
选项.
先用OPTPASE扫描parse!
,然后扫描ARGV,如果ARGV为空,则上升.就像这样:
op.parse!
filename = ARGV.pop
raise "Need to specify a file to process" unless filename
强制文件名将不会由OptionParser
处理,并将留在ARGV中供您使用-如果没有,只需手动提高.