Я пытаюсь понять, как работает currying в функциональном программировании. Я прошел через wiki и пару вопросов о том же в SO.
Нужна помощь в понимании лямбда (карри)
Я понимаю, что каррирование - это разделение функции, которая принимает n аргументов в n или меньше функций с одним аргументом каждый. Я теоретически понимаю это, но я не могу подключить точки при кодировании для них. Возможно, это моя нехватка знаний на языках функционального программирования или С# (как много ответов в вышеприведенных вопросах).
В любом случае, я понимаю groovy и java. Поэтому я попытался получить схему стандартной add(a,b)
функции в groovy, но я не смог ее закончить.
def closure = { arg ->
// ??
}
def add(anotherClosure , a){
return closure // ??
}
Может кто-нибудь помочь мне понять каррирование с помощью закрытий groovy?