5
用Ruby 1.9.x的關於鑽營,我一直在使用它在一些地方,並且可以轉換基本一樣支持默認參數的PROC參數:Ruby反向Currying:這可能嗎?
p = proc {|x, y, z|x + y + z}
p.curry[1] #=> returns a lambda
p.curry[1, 2] #=> returns a lambda
p.curry[1, 2, 3] #=> 6
p2 = p.curry[1, 2]
p2.(2) #=> 5
p2.(4) #=> 7
非常方便的,對不對?事情是,我希望能夠逆向咖喱,這意味着,我的過程的最後一個參數填充隨機值。像這樣:
p = proc{|x, y| x - y }.curry[1]
p.(4)
我想要的結果是3.這返回-3。
赫姆,看起來不夠乾淨,去試試看。用例是在某個地方複製從方法的默認參數獲得的相同行爲,並且這些只能從最後一個參數向後設置。我想採用相同的方法,並在不同的上下文中用不同的值替換默認參數。 – ChuckE