如何在 Thor 中指定多个参数或参数?

Posted

技术标签:

【中文标题】如何在 Thor 中指定多个参数或参数?【英文标题】:How you do specify multiple arguments or parameters in Thor? 【发布时间】:2012-05-11 14:31:57 【问题描述】:

my_gem 你好 name1 name2 name3 给我一个

my_gem hello 至少需要 1 个参数:my_gem hello name

我应该只解析它们并用分隔符分隔参数吗?

例如

my_gem 你好 name1,name2,name3,nameN

在文件中看起来像

class MyCLI < Thor
  desc "hello NAMES", "say hello to names"

  def hello(names)
    say "hello #names.split(',')"
  end
end

或者有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

是的,还有另一种方法。

require 'thor'
class TestApp < Thor
    desc "hello NAMES", "long desc"
    def hello(*names)
        say "hello #names.join('; ')"
    end
end

而且可以这样调用:

$ thor test_app:hello first second third
hello first; second; third

【讨论】:

也称为 splat 运算符:***.com/questions/4170037/… 和 skorks.com/2009/08/method-arguments-in-ruby

以上是关于如何在 Thor 中指定多个参数或参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Play Framework v2 中指定自定义数据库连接参数以进行测试?

如何使用 spring 的 jdbcTemplate 在 SQL 查询中指定参数

如何在 Nelmio ApiDocBundle 中指定参数的格式

如何在关联类型中指定生命周期参数?

微软统一。如何在构造函数中指定某个参数?

如何在参数中指定两个默认日期