2009-09-16 96 views

回答

3

&運算符將Proc變成一個塊,因此它變成帶有塊的一個參數方法(用yield調用)。如果您忘記了&以便它直接通過Proc,您將會收到錯誤。

3

通過執行&s,您告訴one_arg您希望您的Proc s作爲一個塊通過(請糾正我,如果我錯了)。等效寫作是

one_arg(5) do |x| 
    x *2 
end 

已經有上SO過幾個問題在這裏爲晚與此處理。 August Lilleaas對於所有這些Ruby瘋狂的一些錯綜複雜有一個很不錯的write up