On dirait que des membres non initialisés dans le corps de l'objet sont interdits dans des objets Scala.
Je voulais faire quelque chose comme (si c'était en Java) Je suis restreint sur la modification de ce code de l'objet en classe (puisque ce repo est utilisé par de nombreuses équipes) - Qu'est-ce qu'un bon Scala Way de gérer ce genre de situation? Désolé, la question est vraiment vague. p> p>
3 Réponses :
Les valeurs non antimalisées sont une mauvaise idée, donc Il existe trois options évidentes: p> donner str code> doit être initialisé à une valeur valide. str La valeur par défaut p> class MyClass {
private var str: Option[String] = None
private def reassignString(value: String): Unit = {
str = Some(value)
}
}
Voici une autre mauvaise idée:
var underlying: String = underlying
str code> dans ce code Java est em> initialisé, à null code> . Scala nécessite simplement que vous le rendez explicite si c'est ce que vous voulez. P>