作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法让雷神有两个互斥的选项?例如,我需要提供一个列表选项。我可能有一个选择 -l ent1 ent2 ent3 ent67
,我可能有一个选项 -f
我传递了一个包含内容的文件 ent1 ent2 ent3 ent67
.这两个选项是否可以与 Thor 互斥而不在方法中编写额外的处理代码?
最佳答案
我还没有找到一种内置的方法来做到这一点,但你可以通过你自己的简单检查来完成它。这是一个可以执行您想要的操作的示例 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
关于thor - 与雷神互斥的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586955/
我正在研究应该用作 CLI 的 Ruby gem效用。 我决定使用 Thor ,它由 rails 命令使用并且似乎非常灵活(关于与 rake 的区别:link)。 问题是我找不到如何处理输入错误。例如
我正在制作一个生成新 Rails 应用程序的自定义生成器,我是这样做的 require 'thor' require 'rails/generators/rails/app/app_generator
thor在打印其帮助输出时,gem 似乎总是按字母顺序对定义的命令进行排序。示例: #!/usr/bin/env ruby require "thor" class MyCLI 方法,我决定更改 he
我正在将一个小项目转换为使用 Thor,但由于心不在焉,我想使用内置帮助记录可用的任务。但是,如果我使用参数定义任务,任务级帮助将恢复为类的帮助 - 这意味着不会显示任务描述或预期参数的详细信息。 我
我是一名优秀的程序员,十分优秀!