Il linguaggio Scala richiede di inizializzare la variabile di istanza prima di utilizzarla. Tuttavia, Scala non fornisce un valore predefinito per la variabile. Al contrario, è necessario impostare il valore manualmente utilizzando la sottolineatura carattere jolly, che agisce come un valore predefinito, come seguePerché il linguaggio Scala richiede di inizializzare una variabile di istanza invece di basarsi su un valore predefinito?
var name:String = _
Lo so, lo so ... posso definire un costruttore nella definizione della classe, che prende come parametro nostra variabile esempio, così Scala non forzare la sua inizializzazione, come illustrato di seguito
class Person(var name:String)
Tuttavia, devo dichiarare nel corpo perché ho bisogno di usare un'annotazione Java cui ElementType è campo o il metodo; cioè, può essere semplicemente applicato a una variabile di istanza o al metodo dichiarato nel corpo della nostra classe.
Domanda: Perché il linguaggio Scala richiede di inizializzare una variabile di istanza, che si tratti di un valore predefinito _ o di qualsiasi cosa desideri, dichiarata nel corpo di una classe anziché fare affidamento su un valore predefinito?
La preferenza di Martin sarebbe la mia ipotesi :-) Per lo meno è esplicito e gli extra 2 caratteri (4 con spazi) non sono terribilmente scoraggianti. Sembra quasi assurdo che Java (un linguaggio * molto verboso) lasci omettere il compito. Inoltre, sembra fuorviante affermare che gli "argomenti del costruttore" (non so come si chiamino realmente: - /) non siano forzati per essere inizializzati - lo sono sicuramente quando l'oggetto viene istanziato. –