[英]Thor Gem - Sending parameter prior to task
我知道令人困惑的描述,請參見示例:
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
這很簡單。 因此,如果我打電話(已經用這種方法設置了類名作為第一個標識符)。 現在沒有ID,因此不會打印任何內容。
foo bar
> Hello from bar
foo nar
> Hello from nar
最后是問題,如何使用Thor可以這種形式向方法發送參數?
foo 12 bar
> Hello from bar 12
foo nar
> Hello from nar
我想做的是在任務名稱之前傳遞參數欄,Thor可以做到嗎?
很抱歉讓您感到困惑,但目前最好的方法是簡化我的復雜代碼。
您擁有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
這太過頭了,所以您的行程可能會有所不同...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.