Почему оставление точки в foldLeft вызывает ошибку компиляции?
Может кто-нибудь объяснить, почему я вижу эту ошибку компиляции для следующего, когда я опускаю обозначение точки для примененияfoldLeft
функция? (версия 2.9.2)
scala> val l = List(1, 2, 3)
res19: List[Int] = List(1 ,2 ,3)
scala> l foldLeft(1)(_ * _)
:9: error: Int(1) does not take parameters
l foldLeft(1)(_ * _)
^
но
scala> l.foldLeft(1)(_ * _)
res27: Int = 6
Это несправедливо для других функций более высокого порядка, таких какmap
который неКажется, мне все равно, поставлю ли я точку или нет.
Я нене думаю, что это вещь ассоциативности, потому что я не могупросто вызватьfoldLeft(1)