欢迎大家来到IT世界,在知识的湖畔探索吧!
所谓柯里化,即:把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接收余下参数且返回结果的新函数的技术。
概念读起来有点绕口,下面从柯里化函数的源码进行解读。
源码引用于 mostly-adequate-guide 书中的例子
再来一个简单的柯里化使用例子
首先curry函数中的arity变量会通过闭包的形式保存传入函数的所需参数的个数,args则通过闭包的方式保存所有的传入参数,当参数的个数等于函数执行实际所需参数个数的时候,就真实的调用该函数。
在上述例子中的函数参数总个数为2,当调用add(1)的时候args的length为1,所以会返回f2,当调用f2时,f2会将自己的参数concat到args的列表中,然后再递归调用f1,这时f1判断参数个数已经是2个,即立即执行原始函数,最终返回结果3。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/83119.html