正確にval a: A = _
値を初期化しますか?これは型付きnullですか?ありがとう。
val a: A = _
はコンパイルエラーです。例えば:
scala> val a: String = _
<console>:1: error: unbound placeholder parameter
val a: String = _
^
動作するのはvar a: A = _
(注var
の代わりにval
)。チャックが答えで言っているように、これは変数をデフォルト値に初期化します。 Scala言語仕様から:
TがIntまたはそのサブレンジタイプの1つである場合、0
0L Tが長い場合、
0.0f Tがフロートの場合、
0.0d TがDoubleの場合、
Tがブール値の場合はfalse、
()Tが単位の場合、
他のすべてのタイプTの場合はnull.
a
をタイプA
のデフォルト値に初期化します。たとえば、Intのデフォルト値は0であり、参照タイプのデフォルト値はnullです。