- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这是 OptionParser 的精简版
OptionParser.new do |opts|
opts.on('-f', '--format FORMAT', 'output format (text, html, yml, json, xml)') do |format|
options['format'] = format
end
end
这是格式选项的试用版
[16] pry(main)> parse("-f s")
=> {"format"=>" s"}
[17] pry(main)> parse("--format s")
OptionParser::InvalidOption: invalid option: --format s
为什么 --format s
不起作用?
最佳答案
当您调用 parse
时手动,需要传入ARGV
,不是脚本名后面所有的字符串,而是拆分后的数组:
./example.rb -f s # => ["-f", "s"]
./example.rb --format s # => ["--format", "s"]
./example.rb --format=s # => ["--format=s"]
因此,如果我们将这些格式传递给解析,我们就能正确解析选项:
op.parse(['-f', 'a']) # => {"format"=>"a"}
op.parse(['--format', 'b']) # => {"format"=>"b"}
op.parse(['--format=c']) # => {"format"=>"c"}
关于Ruby OptionParser 不解析 -- 命令正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51429156/
我正在编写一个应该在远程服务器上执行命令的小程序(假设是围绕 ssh [hostname] [command] 的相当愚蠢的包装器)。 我想这样执行: ./floep [command] 但是,我有时
我正在尝试 optparse,这是我的初始脚本。 #!/usr/bin/env python import os, sys from optparse import OptionParser pars
使用 OptionParser 进行字符串参数输入和哈希赋值。为单个参数读入多个变量的最佳方法是什么?然后我如何将它们分配给哈希以供引用?这是我目前所拥有的: large_skus = Hash.ne
我的程序中有以下几行 parser = OptionParser() parser.add_option("-t","--TIMEOUT", dest="timeout", type="int",
我正在使用 optparse 模块中的 OptionParser 来解析我使用 raw_input() 获得的命令。 我有这些问题。 1.) 我使用 OptionParser 来解析这个输入,例如。
我有一个 python 选项解析器,可以解析可选的 --list-something 选项。我还希望 --list-something 选项有一个可选参数(一个选项) 使用参数 default="si
编辑: 我编写了使用 OptionParser 优雅地处理命令行输入的代码。我面临着两个重大打击。 传递空开关“-”不会产生错误。当然,有些程序认为这是有效的,但我的程序不应该。 该程序需要两次强制切
我的 Python 脚本(用于待办事项列表)是从命令行启动的,如下所示: todo [options] [command-options] 有些选项不能一起使用,例如 todo add --pos=
如何格式化 OptionParser() 帮助信息的字符串?似乎忽略了换行符?请看下面的代码。 parser = OptionParser() parser.add_option("--s", des
我有一个使用 OptionParser 的脚本,我想为该程序添加配置文件,该文件将具有 option = value 格式和 # comments。有没有办法让 OptionParser 解析文件或某
我发现自己经常这样做: optparse = OptionParser.new do |opts| options[:directory] = "/tmp/" opts.on('-d','--
我正在尝试为我的 Ruby 脚本定义选项,该脚本将消息从用户 A 发送到用户 B 以进行测试。但是,当某些选项的值中有空格时,我无法让它工作。例如: OptionParser.new do |
在以下脚本中,短选项按预期工作,长选项则不然: #!/usr/bin/env ruby require 'optparse' optparse = OptionParser.new do|opts|
这是 OptionParser 的精简版 OptionParser.new do |opts| opts.on('-f', '--format FORMAT', 'output f
下面的代码有效,但当我想将所需参数构建到所需参数的 native OptionParser sytax 中时,我使用 fetch 手动引发所需参数的参数错误: # ocra script.rb --
我在 Ruby 中使用 OptionParser。 我的其他语言如C、Python等,也有类似的命令行参数解析器,它们通常提供一种在没有提供参数或参数错误时显示帮助信息的方法。 options = {
我正在使用 optparse 模块中的 OptionParser 来解析我使用 raw_input() 获得的命令。当我给出 -h 时,它会显示帮助屏幕并退出我的应用程序。我不希望它显示帮助屏幕或退出
以下“parser.add_option”语句有效,但如果脚本在没有选项/参数的情况下运行,它不会提示。如果未指定选项/参数,我希望它默认显示帮助(-h/--help)。 usage = "usage
我试着设置我的脚本来运行这样的东西 ruby Script.rb --ip "192.168.3.206" 但如果没有 ip 参数则使用默认的“192.168.1.1” 我试过这段代码,但它总是返回
我有一个简单的 watir(网络驱动程序)脚本,它可以转到谷歌。但是,我想使用选项解析器在 cmd 中设置一个参数来选择浏览器。下面是我的脚本: require 'optparse' require
我是一名优秀的程序员,十分优秀!