Я пытаюсь сделать currying в 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)
from func_test.rb: 24: in `'
Но если я делаю
plus = lambda {|a,b| a+ b}
Кажется, что сработало. Но при печати плюс после присвоения лямбдой оба пути возвращают один и тот же тип объекта. Что я неправильно понял?