2012-05-02 53 views
8

my_gem你好名1名2 NAME3給我如何在Thor中指定多個參數或參數?

my_gem你好至少需要1參數:my_gem你好名

我是不是應該分析它們與參數之間用分隔符分開?

e.g

my_gem你好1,名稱2,名稱3,nameN

在文件時,它看起來像

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

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

或者是反正有做到這一點?

回答

12

是的,還有另一種方法。

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 
+0

這也被稱爲圖示操作:http://stackoverflow.com/questions/4170037/what-does-the-star-mean -in-ruby和http://www.skorks.com/2009/08/method-arguments-in-ruby/ –