多核CPU要求開發人員必需在函數式編程方面有著堅實的基礎, 而這正式 Scala 的核心價值所在. 方法沒有副作用是函數式風格編程的重要概念, 計算並返回值應該是方法的唯一目的。 高階函數(Higher-Order Functions)在數學和電腦科學中,高階函數是至少滿足下列一個條件的函數:
在數學中它們也叫做算子(運算符)或泛函。微積分中的導數就是常見的例子,因為它映射一個函數到另一個函數。 在無類型 lambda 演算,所有函數都是高階的;在有類型 lambda 演算(大多數函數式程式語言都從中演化而來)中,高階函數一般是那些函數型別包含多於一個箭頭的函數。在函數式編程中,返回另一個函數的高階函數被稱為 Curry 化的函數。 more ... 高階函數帶來的優點,
OOPscala> def a1(a: Int, b: Int) = println(a, b)
a1: (a: Int,b: Int)Unit
scala> def a3 = (a: Int, b: Int) => println(a + b)
a3: (Int, Int) => Unit FPFunction scala> val a = (a: Int, b: Int) => println(a, b) a: (Int, Int) => Unit = <function2>
|