谁能解释为什么我在省略点符号来应用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
which 似乎并不关心我是否提供点。
我不认为这是一个关联性的事情,因为我不能只是调用foldLeft(1)