Значение "Hello World"
относится к типу String
, однако вы назначаете его Unit
val exp: Unit = "Hello World"
, компилятор расширяется до
val exp: Unit = {
"Hello World";
()
}
Обратите внимание, как ()
становится значением exp
. Попробуйте изменить определение exp
на
val exp: String = "Hello World"
и второй список параметров на
(exp: => String)
Если вы компилируете с флагом компилятора -Wvalue-discard
, например,
scala -Wvalue-discard -e 'val exp: Unit = "Hello World"'
вы получите предупреждение
warning: discarded non-Unit value
val exp: Unit = "Hello World"
^