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.