Scala 函数与闭包全解析
1. 部分应用函数
在 Scala 中,特定形式的函数调用有一定规则。例如下面的代码:
scala> val c = sum
<console>:5: error: missing arguments for method sum...
follow this method with `_' if you want to treat it as a
partially applied function
val c = sum
ˆ
这里直接将 sum 赋值给变量 c 会报错,因为缺少参数。若要将其作为部分应用函数,需要在方法后加 _ :
scala> val d = sum _
d: (Int, Int, Int) => Int = <function3>
scala> d(10, 20, 30)
res15: Int = 60
Scala 的这种语法体现了与经典函数式语言(如 Haskell 或 ML)在设计权衡上的差异。在经典函数式语言中,部分应用函数是常见情况,且它们有严格的静态类型系统来指出部分应用可能出现的错误。而 Scala 更接近 Java 等命令式语言,未应用所有参数的方法通常被视为错误。
例如,若误将 List 的 drop(n: Int) <
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



