我正在尝试在 ruby 中进行一些柯里化:
def add(a,b)
return a+b
end
plus = lambda {add}
curry_plus = plus.curry
plus_two = curry_plus[2] #Line 24
puts plus_two[3]
我得到错误
func_test.rb:24:in `[]': wrong number of arguments (1 for 0) (ArgumentError)
来自 func_test.rb:24:in `'
但如果我这样做
plus = lambda {|a,b| a+ b}
它似乎工作。但是通过在使用 lambda 分配后打印 plus 两种方式都返回相同类型的对象。我误解了什么?