高阶函数
Scala 竭尽全力将方法和函数视为语法相同。但在引擎盖下,它们是截然不同的概念。
方法是可执行代码,没有值表示。
函数是 Function1
类型的实际对象实例 (或另一个类似的另一个 arity)。它的代码包含在 apply
方法中。实际上,它只是作为一种可以传递的价值。
顺便说一句,治疗功能价值的能力是什么,通过具有高阶函数支持语言的意思。函数实例是 Scala 实现此功能的方法。
实际的高阶函数是将函数值作为参数或返回函数值的函数。但是在 Scala 中,由于所有操作都是方法,因此考虑接收或返回函数参数的方法更为通用。因此, Seq
上定义的 map
可能会被认为是一个高阶函数,因为它的参数是一个函数,但它并不是字面上的函数; 这是一种方法。