¿Cuáles son las implicaciones de usar def
contra val
en Scala para definir un valor constante e inmutable? Obviamente, puedo escribir lo siguiente:¿Cuáles son las implicaciones de usar def vs. val para valores constantes
val x = 3;
def y = 4;
var a = x + y; // 7
¿Cuál es la diferencia entre esas dos afirmaciones? ¿Cuál se comporta mejor/es el modo recomendado/más idiomático? ¿Cuándo usaría uno sobre el otro?
»Will ahorrar memoria«? El valor tiene que almacenarse _en alguna parte_, no veo por qué una forma requeriría más memoria que la otra ...? – knittl
@knittl Si tiene mil instancias, un campo se almacenará mil veces. Una definición de método solo se almacena una vez. –
Ah, vale, ¡eso tiene sentido! – knittl