任何人都可以解释为什么我在下面省略了应用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)(_ * _)
^
Run Code Online (Sandbox Code Playgroud)
但
scala> l.foldLeft(1)(_ * _)
res27: Int = 6
Run Code Online (Sandbox Code Playgroud)
这不适用于其他更高阶的功能,例如map我似乎不关心我是否提供点.
我不认为它是一个相关性的东西,因为我不能只是调用它 foldLeft(1)