令人困惑的描述我知道请看示例:
Foo < Thor
desc "bar","bar method"
def bar
puts "Hello from bar #{options[:id]}"
end
desc "nar","nar method"
def nar
puts "Hello from nar"
end
end
这很简单。所以,如果我打电话(Thor已经设置为使用类名作为第一个标识符)。现在没有身份证,所以没有打印任何内容。
foo bar
> Hello from bar
foo nar
> Hello from nar
最后问题是,我如何使用Thor能够以这种形式向参数发送参数?
foo 12 bar
> Hello from bar 12
foo nar
> Hello from nar
我要做的是在任务名称之前传递参数栏,这可以用Thor吗?
对于令人困惑的问题感到抱歉,这是目前简化复杂代码的最佳方式。
答案 0 :(得分:0)
你拥有Ruby的力量,所以你可以:
class Foo < Thor
desc "bar","bar method"
def bar(id)
puts "Hello from bar #{id}"
end
def method_missing(m, *args, &block)
if m.is_a? Integer ## Might not work. May need to_i and an exception check.
bar(m)
end
end
end
这是我的头脑,所以你的里程可能会有所不同......