函数式编程1-柯里化

函数式编程1-柯里化所谓柯里化 即 把接受多个参数的函数变换成接受一个单一参数 最初函数的第一个参数 的函数 并且返回接收余下参数且返回结果的新函数的技术 概念读起来有点绕口 下面从柯里化函数的源码进行解读

欢迎大家来到IT世界,在知识的湖畔探索吧!

所谓柯里化,即:把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接收余下参数且返回结果的新函数的技术。

概念读起来有点绕口,下面从柯里化函数的源码进行解读。

函数式编程1-柯里化

源码引用于 mostly-adequate-guide 书中的例子

再来一个简单的柯里化使用例子

函数式编程1-柯里化

首先curry函数中的arity变量会通过闭包的形式保存传入函数的所需参数的个数,args则通过闭包的方式保存所有的传入参数,当参数的个数等于函数执行实际所需参数个数的时候,就真实的调用该函数。

在上述例子中的函数参数总个数为2,当调用add(1)的时候args的length为1,所以会返回f2,当调用f2时,f2会将自己的参数concat到args的列表中,然后再递归调用f1,这时f1判断参数个数已经是2个,即立即执行原始函数,最终返回结果3。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/83119.html

(0)
上一篇 36分钟前
下一篇 2025年 8月 7日 上午11:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信