Это потому, что scala думает, что println()
принимает другой параметр, когда видит {}
. Вы также можете просто протестировать следующий код:
scala> println(8){}
^
error: Unit does not take parameters
scala> println(1)()
^
error: Unit does not take parameters
Вам нужно поставить новую строку между println()
и {}
, чтобы компилятор был доволен.
пример: https://scastie.scala -lang.org / praagagupd / jbPWBesyTvihwue8soE5Og
scala> :paste
// Entering paste mode (ctrl-D to finish)
val x:Int = 10
println(x)
{
val x:Int =20
println(x)
}
println(x)
// Exiting paste mode, now interpreting.
10
20
10
x: Int = 10