高階函式

Scala 竭盡全力將方法和函式視為語法相同。但在引擎蓋下,它們是截然不同的概念。

方法是可執行程式碼,沒有值表示。

函式是 Function1 型別的實際物件例項 (或另一個類似的另一個 arity)。它的程式碼包含在 apply 方法中。實際上,它只是作為一種可以傳遞的價值。

順便說一句,治療功能價值的能力什麼,通過具有高階函式支援語言的意思。函式例項是 Scala 實現此功能的方法。

實際的高階函式是將函式值作為引數或返回函式值的函式。但是在 Scala 中,由於所有操作都是方法,因此考慮接收或返回函式引數的方法更為通用。因此, Seq定義的 map 可能會被認為是一個高階函式,因為它的引數是一個函式,但它並不是字面上的函式; 這是一種方法。