Scala 14: ошибка: модуль не принимает параметры

Новое в мире Scala и для упражнений, выполняемых ниже строк кода в Windows 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>

Еще одна дублирующая цель: stackoverflow.com/questions/52017702/…

Brian McCutchon 08.03.2019 08:45
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
1 184
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это потому, что 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/prayagupd/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

поставить точку с запятой в конце println(x); тоже сработает

Feyyaz 08.03.2019 13:23

Другие вопросы по теме