【发布时间】:2012-10-05 23:29:56
【问题描述】:
谁能解释为什么我在应用foldLeft 函数时省略点符号时会看到以下编译错误?(2.9.2 版)
scala> val l = List(1, 2, 3)
res19: List[Int] = List(1 ,2 ,3)
scala> l foldLeft(1)(_ * _)
<console>:9: error: Int(1) does not take parameters
l foldLeft(1)(_ * _)
^
但是
scala> l.foldLeft(1)(_ * _)
res27: Int = 6
这不适用于其他高阶函数,例如 map,它似乎并不关心我是否提供点。
我不认为这是关联性的事情,因为我不能只调用 foldLeft(1)
【问题讨论】:
标签: scala functional-programming