Je suis complètement nouveau à Scala. Je suis confus au comportement de lazy val
dans REPL.Scala paresseux VAL évalue réellement l'expression pour obtenir le type final pendant l'affectation
scala> lazy val a = {println("Hello, World!!!"); 5}
a: Int = <lazy>
scala> a
Hello, World!!!
res0: Int = 5
Je peux voir que, dans le REPL, le type de lazy val
a
a été attribué correctement, immédiatement après la déclaration.
Maintenant, ma question, est interprète Scala évalue réellement l'expression paresseusement, ou évalue juste, mais ne stocke pas la valeur résultante évaluée à la variable prévue.
Merci d'avance.