Что именно означает val a: A = _
инициализировать значение? Это типичный нуль? Спасибо.
В Scala то, что означает "val a: A = _" (подчеркивание), означает?
Ответ 1
val a: A = _
- ошибка компиляции. Например:
scala> val a: String = _
<console>:1: error: unbound placeholder parameter
val a: String = _
^
Что работает var a: A = _
(обратите внимание var
вместо val
). Как говорит Чак в своем ответе, это инициализирует переменную значением по умолчанию. Из Scala Спецификация языка:
0, если T является Int или одним из его типов поддиапазонов,
0L, если T длинно,
0.0f, если T Float,
0.0d, если T равно Double,
false, если T булево,
(), если T - единица,
null для всех других типов T.
Ответ 2
Инициализирует a
значение по умолчанию типа a
. Например, значение по умолчанию для Int равно 0, а значение по умолчанию для ссылочного типа равно null.