高阶函数
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
- 接受一个或多个函数作为输入
- 输出一个函数
在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个函数到另一个函数。
高阶函数的例子
假设有一个函数对给定两个数区间中的所有整数求和:
def sumInts(a: Int, b: Int): Int =
if(a > b) 0 else a + sumInts(a + 1, b)
如果现在要求连续整数的平方和:
def square(x: Int): Int = x * x
def sumSquares(a: Int, b: Int): Int =
if(a > b) 0 else square(a) + sumSquares(a + 1, b)
如果要计算2的幂次的和:
def powerOfTwo(x: Int): Int = if(x == 0) 1 else