gpt4 book ai didi

closures - 闭包和柯里化(Currying)有什么区别和可能的相似之处?

转载 作者:行者123 更新时间:2023-12-02 22:07:34 25 4
gpt4 key购买 nike

我已经阅读了这里的一些关于闭包和柯里化(Currying)的帖子,但我觉得我没有找到答案。那么闭包和柯里化(Currying)有什么区别和可能的相似之处呢?感谢您的帮助:)

最佳答案

柯里化(Currying)实际上首先是一个数学概念。这是正确的观察结果,对于任何n元函数f:S0×...Sn → R,您可以定义一个带有 n-1 个参数的新函数 fprime (刚刚发现了一个 markdown bug!),其中第一个参数被常量替换。因此,如果您有一个函数 add(a,b),您可以定义一个新函数 add1(b)

add1(b)::= add(1, b)

...将“::=”读作“被定义为”。

闭包更多的是一个编程概念。 (当然,编程中的一切也是一个数学概念,但是闭包因为编程而变得有趣。)当你构造一个闭包时,你绑定(bind)一个或多个变量;您正在创建一段代码,其中包含一些与之相关的变量。

这种关系是,您可以使用闭包来实现柯里化(Currying):您可以通过创建一个将第一个参数绑定(bind)到 1 的闭包来构建上面的 add1 函数。

关于closures - 闭包和柯里化(Currying)有什么区别和可能的相似之处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com