scala initialization

En Scala, ¿qué significa exactamente ''val a: A=_''(guión bajo)?



initialization (2)

Inicializa a al valor predeterminado del tipo A Por ejemplo, el valor predeterminado de un Int es 0 y el valor predeterminado de un tipo de referencia es nulo.

¿A qué es exactamente a qué val a: A = _ inicializa un valor? ¿Es esto un nulo escrito? Gracias.


val a: A = _ es un error de compilación. Por ejemplo:

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

Lo que sí funciona es var a: A = _ (observar var lugar de val ). Como dice Chuck en su respuesta, esto inicializa la variable a un valor predeterminado. De la especificación del lenguaje Scala:

0 si T es Int o uno de sus tipos de subrango,
0L si T es largo,
0.0f si T es flotante,
0.0d si T es doble,
falso si T es booleano,
() si T es unidad,
null para todos los demás tipos T.