美文网首页
简单谈谈Clojure语言的函数的部分施用和柯里化·

简单谈谈Clojure语言的函数的部分施用和柯里化·

作者: 每天学点编程 | 来源:发表于2017-10-03 15:49 被阅读35次

函数的部分施用

传给(partial f a1 a2 …)若干数量不足的参数,它将返回经过部分施用的函数f,可凭余下的参数进行调用。

subtract-from-hundred函数定义为部分施用“-”运算符(Clojure语言对运算符和函数进行了区分),并设定了部分施用的参数100。Clojure的部分施用可以用在单参数函数上,也可以用在多参数函数上。

柯里化

由于Clojure是动态类型的语言,并且支持可变长度的参数列表,它没有将柯里化实现成一种语言特性,相关的场景交由部分施用去处理。

不过Clojure在Reducers库里有一个命名空间内私有的(defcurried …)函数,虽然其本意是方便库内的函数定义,但凭借Lisp家族血脉里与生俱来的灵活性,扩大一下(defcurried …)的使用范围简直小菜一碟。

相关文章

网友评论

      本文标题:简单谈谈Clojure语言的函数的部分施用和柯里化·

      本文链接:https://www.haomeiwen.com/subject/emhfyxtx.html