天天看点

什么是高阶函数

在数学 和计算机科学 中,高阶函数 是至少满足下列一个条件的函数 :

  • 接受一个或多个函数作为输入
  • 输出一个函数

在数学中它们也叫做算子 (运算符)或泛函 。微积分 中的导数 就是常见的例子,因为它映射一个函数到另一个函数。

在无类型 lambda 演算 ,所有函数都是高阶的;在有类型 lambda 演算 (大多数函数式编程语言 都从中演化而来)中,高阶函数一般是那些函數型別包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化 的函数。

在很多函数式编程语言中能找到的

map

函数是高阶函数的一个例子。它接受一个函数 f 作为参数,并返回接受一个列表并应用 f 到它的每个元素的一个函数。

高阶函数的其他例子包括函数复合 、积分 和常量函数 λx .λy .x 。