首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与红宝石手环使用“冲突”

如何与红宝石手环使用“冲突”
EN

Stack Overflow用户
提问于 2018-03-15 20:11:11
回答 1查看 65关注 0票数 0

嗨,我正在使用trollop解析我在ruby中的命令行选项,我有四个相互排斥的选项,并且总是需要一个选项。

我一直想弄清楚如何确保这四种选择中只有一种被通过。如果调用多个选项,我需要使用帮助(教育?)显示。

我从trollop源中看到了一种叫做冲突的东西

method

听起来就像我想要的那样(?)但我想不出如何正确地使用它。

我现在的一节实际上是

代码语言:javascript
复制
require 'trollop'
opts = Trollop::options do

  opt :last, "last"
  opt :first, "first"
  opt :file, "filename",
        :type => String
  opt :date, "date to read",
        :type => Date
end
Trollop::die :file, "must exist" unless File.exist?(opts[:file]) if opts[:file]

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-16 02:37:39

您可以将conflicts作为一行添加到do块中,如下所示:

代码语言:javascript
复制
require 'trollop'
opts = Trollop::options(ARGV) do
  opt :last, "last"
  opt :first, "first"
  opt :file, "filename", :type => String
  opt :date, "date to read", :type => Date
  conflicts :last, :first
end

puts "Your Options Are: "
puts opts

然后得到以下输出:

代码语言:javascript
复制
ruby test_options.rb  --last Last --first First
Error: --last conflicts with --first.
Try --help for help.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49308369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档