這是相當簡單的用Clojure -鑽營一個可變參數proc和獲得另一個可變參數PROC紅寶石
(def a (partial println "Hello:"))
(a "Bob")
(a "Bob" "Ganesh")
但這似乎很難在Ruby中。
:puts.to_proc.curry(3)[Kernel, "Hello:"]("Bob")
:puts.to_proc.curry(4)[Kernel, "Hello:"]("Bob", "Ganesh")
Proc#咖喱似乎不能返回一個可變參數fn。
我們當然可以
class Proc
def partial(*left)
Proc.new do |*right|
self.call *left, *right
end
end
end
但我在想,如果這是在標準庫。
請說明這個問題,以便熟悉Ruby而不是Closure的人能夠理解它。通過「varargs fn」,你的意思是一個可變數量的參數的curried過程?對於你的例子,你想在被調用時返回什麼? –
不確定的數字,是的。可變參數是一個語言中性術語。 –