Ruby OptionParser:我如何获得PATH?如果命令只是“命令路径/到/某些/文件”?

时间:2012-09-20 09:12:26

标签: ruby command-line command-line-arguments

我想创建一个具有以下结构command path/to/some/file

的命令

如何在不输入-p或-path选项的情况下启用此功能?

#!/usr/bin/env ruby
require 'optparse'

options = {}
option = OptionParser.new() do |opts|

    opts.on('-p PATH', '--path PATH', 'First path argument') do |path| // How do I enable this without entering the option -p or --path? 
       options[:path] = path
    end
end

option.parse!(ARGV)

2 个答案:

答案 0 :(得分:0)

没有ARGV[0]可以让您访问论证的第一部分吗?在你的情况下,这将是路径,又名path/to/some/file。这里不需要整个解析器代码imo。

答案 1 :(得分:0)

在文档中没有明确说明,但OptionParser将从ARGV中提取所有选项并保留其余选项,因此正确的方法就是使用ARGV,就好像它是路径列表。