1. ホーム
  2. scala

[解決済み] Scalaでは、'val a. = _' (アンダースコア)は具体的にどのような意味ですか?A = _' (アンダースコア)とはどういう意味ですか?

2022-07-25 20:07:23

質問

具体的にどのような val a: A = _ は値を初期化するのでしょうか?これは、型付けされたヌルですか?ありがとうございます。

どのように解決するのですか?

val a: A = _ はコンパイルエラーです。例えば

scala> val a: String = _
<console>:1: error: unbound placeholder parameter
       val a: String = _
                       ^

うまくいくのは var a: A = _ (注 var の代わりに val ). Chuckが彼の回答で言っているように、これは変数をデフォルト値で初期化します。Scala言語仕様書より。

TがIntまたはその部分範囲の型の1つである場合は0。

TがLongの場合は0L。

TがFloatの場合は0.0f。

TがDoubleの場合は0.0d。

TがBooleanの場合はfalse。

TがUnitの場合は()。

他のすべての型Tの場合はnull。