我想阅读ruby脚本的原始输入并进一步传递。
例如:
script.rb -t test -a argument three -b test
在这个脚本中,我需要一个带有字符串-t test -a argument three -b test
的变量,稍后将通过其他函数对其进行解析。
标准OptPartser
和ARGV
功能会从流中删除-flags
,或者需要大量的硬编码...
之前未定义标志,应将其视为一个。
答案 0 :(得分:0)
查看Ruby的酷酷OptionParser库。
它提供了标记/开关的解析,带有可选或必需值的参数,可以将参数列表解析为单个选项,并可以为您生成帮助。
以下是一些可以使用的示例:
require 'optparse'
require 'yaml'
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.on('-t', '--sourcename test', 'test') { |v| options[:test] = v }
opts.on('-a', '--sourcehost argument', 'args') { |v| options[:args] = v }
opts.on('-b', '--sourceport something', 'Something') { |v| options[:something] = v }
end.parse!