我有兩個方法,除了一個塊,但其中一個方法需要將其塊傳遞給另一個。如何在方法之間傳遞塊?
def one(&block)
two(block)
end
def two(&block)
block.call
end
在實際代碼的其他參數被傳遞和one
超過two
語法糖。
我希望能夠用塊調用one
和two
。
one { } # => okay
two { } # => ArgumentError: wrong number of arguments (1 for 0)
我明白爲什麼我得到了ArgumentError
,two
沒有參數本身。我不太確定如何說明這一點,但&block
指定在傳入參數後出現的塊,因此出現錯誤。
Ruby 1.9的
謝謝 - 我使用了兩個(&block)'我沒有意識到你可以保留'&'將塊作爲非參數參數傳遞...... – Kris