在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
- 接受一个或多个函数作为输入
- 输出一个函数
scala> val arr = Array(1,2,3,4,5)
arr: Array[Int] = Array(1, 2, 3, 4, 5)
scala> val func = (x:Int) => x*x
func: Int => Int = <function1>
scala> arr.map(a => func(a))
res2: Array[Int] = Array(1, 4, 9, 16, 25)
scala> arr.map(func)
res3: Array[Int] = Array(1, 4, 9, 16, 25)
scala> def m1(x:Int) = x*x
m1: (x: Int)Int
scala> arr.map(m1)
res5: Array[Int] = Array(1, 4, 9, 16, 25)
scala>