2012-04-06 23 views
8

Vi un código scala que asigna "_" a un campo de clase, ¿qué significa? Gracias¿qué significa asignar "_" a un campo en scala?

private var tk: TaggedKey = _ 
+0

http://stackoverflow.com/questions/9581444/first-steps-into-scala/9612735#9612735 (Intenté una visión general de ~ 10 usos de "_" en el idioma: –

Respuesta

20

Significa: Asignar valor predeterminado. El valor predeterminado se define como null, 0 o false dependiendo del tipo de destino.

Se describe en 4.2 Declaraciones de variables y definiciones de la The Scala Language Specification:

una definición de variable var x : T = _ sólo puede aparecer como un miembro de una plantilla. Es introduce un campo mutable con tipo T y un valor inicial predeterminado. El valor por defecto depende del tipo T de la siguiente manera:

0 - si T es de tipo int o uno de sus tipos de subrango,

0L - si T es largo,

0.0f - si T es float ,

0.0d - si T es doble,

false - si es T de Boole,

() - si es T Unidad,

null - para todos los demás tipos T.

Cuestiones relacionadas