函数式编程:偏函数 (Partial application)

一个与 Currying 很类似的东西,其实Currying是一种特殊的偏函数
更新于: 2021-12-19 12:57:29

定义

维基百科中对偏函数 (Partial application) 的定义为:

In computer science, partial application (or partial function application) 
refers to the process of fixing a number of arguments to a function, 
producing another function of smaller arity.

关于偏函数 

我们创造一个新函数,让现有的一些参数值固定

偏函数的好处

  • 通过创建一个名称易懂的独立函数(double,triple等),调用时无需每次传入第一个参数,因为第一个参数通过bind提供了固定值。
  • 另一种使用偏函数情况是,当我们有一个很通用的函数,为了方便提供一个较常用的变体。举例,我们有一个函数send(from, to, text),那么使用偏函数可以创建一个从当前用户发送的变体:sendTo(to, text)

偏函数与柯里化区别

  • 柯里化是将一个多参数函数转换成多个单参数函数,也就是将一个 n 元函数转换成 n 个一元函数。
  • 局部应用则是固定一个函数的一个或者多个参数,也就是将一个 n 元函数转换成一个 n - x 元函数。

参考