Ruby 1.9.x でのカリー化に関して、私はいくつかの場所でそれを使用してきましたが、基本的に proc 引数にデフォルト パラメーターをサポートするように変換できます。
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
とても便利ですよね?つまり、逆にカリー化できるようにしたいということです。つまり、proc の最後の引数にランダムな値を入力します。このような:
p = proc{|x, y| x - y }.curry[1]
p.(4)
私の望む結果は 3 です。これは -3 を返します。