Scala 14: ошибка: блок не принимает параметры - PullRequest
0 голосов
/ 08 марта 2019

Впервые в мире scala и для упражнений, выполненных под строками кода в окнах REPL.Получение ошибки Модуль не принимает параметры. Есть идеи на этот счет.

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.

<pastie>:14: error: Unit does not take parameters
{
^

scala>

1 Ответ

4 голосов
/ 08 марта 2019

Это потому, что 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...