Компилятор Scala говорит: «ошибка: идентификатор ожидается, но найден целочисленный литерал». For () not {}
Почему Скала2.11.0-M3
компилятор дай мнеerror: identifier expected but integer literal found.
когда круглые скобки()
используются в то время как он хорошо компилируется с фигурными скобками?{}
$ scala
Welcome to Scala version 2.11.0-M3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val s = "this is a string"
s: String = this is a string
scala> s.toList map (c:Char => 1)
:1: error: identifier expected but integer literal found.
s.toList map (c:Char => 1)
^
scala> s.toList map {c:Char => 1}
res7: List[Int] = List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
Каким-то образом он прекрасно сочетается с круглыми скобками, когда левая часть анонимной функции находится в другой паре круглых скобок. Зачем?
scala> s.toList map ((c:Char) => 1)
res8: List[Int] = List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)