【发布时间】:2012-05-17 17:08:01
【问题描述】:
我试图了解柯里化在函数式编程中的工作原理。我已经通过wiki 和几个关于 SO 的相同问题。
Need help understanding lambda (currying)
我知道柯里化就是将一个接受 n 个参数的函数拆分为 n 个或更少的函数,每个函数只有一个参数。我从理论上理解它,但我无法在编码时连接这些点。也许是我缺乏函数式编程语言或 C# 方面的知识(正如上述问题中的许多答案所涉及的那样)。
无论如何,我了解 groovy 和 java。所以我试图在 groovy 中获得标准add(a,b) 函数的大纲,但我无法完成它。
def closure = { arg ->
// ??
}
def add(anotherClosure , a){
return closure // ??
}
有人可以帮助我理解使用 groovy 闭包的柯里化吗?
【问题讨论】:
-
我在一次会议上谈论了使用 Groovy 进行函数式编程。你可以看到slides about currying with Groovy
-
浏览了所有幻灯片。一个非常好的信息。 :)
标签: groovy functional-programming currying