À quoi val a: A = _
initialise exactement une valeur? Est-ce un null typé? Merci.
scala
initialization
Gregor Scheidt
la source
la source
Réponses:
val a: A = _
est une erreur de compilation. Par exemple:Ce qui fonctionne est
var a: A = _
(notezvar
au lieu deval
). Comme Chuck le dit dans sa réponse, cela initialise la variable à une valeur par défaut. À partir de la spécification du langage Scala:la source
val
?val a: Int = _
c'est probablement une erreur de compilation car ce serait une mauvaise pratique si cela fonctionnait. Ce ne serait qu'une manière obscure d'écrireval a: Int = 0
. Définir avar
sur une valeur par défaut a du sens carvar
on s'attend à ce que a change, mais aval
est fixe, la meilleure pratique serait donc d'attribuer une valeur explicitement.Il s'initialise
a
à la valeur par défaut du typeA
. Par exemple, la valeur par défaut d'un Int est 0 et la valeur par défaut d'un type de référence est null.la source
NotNull
trait? :-)_
atoutNotNull
.