Para que exatamente val a: A = _
inicializar um valor? Este é um nulo digitado? Obrigado.
scala
initialization
Gregor Scheidt
fonte
fonte
Respostas:
val a: A = _
é um erro de compilação. Por exemplo:O que funciona é
var a: A = _
(observe emvar
vez deval
). Como Chuck diz em sua resposta, isso inicializa a variável para um valor padrão. Na especificação de idioma Scala:fonte
val
?val a: Int = _
provavelmente é um erro de compilação, porque seria uma prática ruim se funcionasse. Seria apenas uma maneira ofuscada de escreverval a: Int = 0
. Definir avar
como um valor padrão faz sentido, poisvar
espera-se que a alteração seja alterada, mas aval
é corrigida, portanto, a melhor prática seria atribuir um valor explicitamente.Inicializa
a
com o valor padrão do tipoA
. Por exemplo, o valor padrão de um Int é 0 e o valor padrão de um tipo de referência é nulo.fonte
NotNull
característica? :-)_
trunfoNotNull
.