在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
- 接受一个或多个函数作为输入
- 输出一个函数
此条目没有列出任何参考或来源。 (2019年3月6日) |
在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个函数到另一个函数。
在无类型lambda演算,所有函数都是高阶的;在有类型lambda演算[注 1]中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。
一般性例子
在很多函数式编程语言中能找到的map
函数是高阶函数的一个例子。它接受一个函数f作为参数,并返回接受一个列表并应用f到它的每个元素的一个函数。高阶函数的其他例子包括:
范例
这是一个Python 脚本语言的例子,其中函式g()有一引数以及回传一函数.这个例子会打印100 ( g(f,7)= (7+3)×(7+3) ).
def f(x):
return x + 3
def g(function, x):
return function(x) * function(x)
print g(f, 7)
下列是Scheme语言的例子,函数g()有一引数以及回传一函数。函数a()取得一值并加上7,再回传,(例如a(3)=10)。
(define(g x)
(lambda (y) (+ x y)))
(define a (g 7))
(display (a 3))
注释
参见
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.