2

有没有办法让 Thor 有两个互斥的选项?例如,我需要提供某物列表的选项。我可能有一个选项-l ent1 ent2 ent3 ent67,并且我可能有一个选项-f,我传递一个包含内容的文件ent1 ent2 ent3 ent67。这两个选项能否与 Thor 互斥而无需在方法中编写额外的处理代码?

4

1 回答 1

3

我还没有找到执行此操作的内置方法,但您可以通过自己的简单检查来完成它。这是一个执行您想要的操作的示例 Thor 命令。

desc "command", "A command that does something."
option :list, aliases: 'l', type: :array
option :file, aliases: 'f'
def list
  if options[:list] && options[:file]
    puts "Use only one, --list(-l) or --file(-f)"
    exit(0)
  end
  # Place the functions of the command here
end

希望这可以帮助!

于 2013-10-05T21:37:14.157 回答