2012-04-06 5 views
8

Ich sah einige Scala-Code, die "_" zu einem Feld der Klasse zuweisen, was bedeutet es? DankWas bedeutet es, "_" einem Feld in scala zuzuweisen?

private var tk: TaggedKey = _ 
+0

http://stackoverflow.com/questions/9581444/first-steps-into-scala/9612735#9612735 (Ich habe versucht Überblick über ~ 10 Verwendungen von "_" in der Sprache: –

Antwort

20

Es bedeutet: assign Standardwert. Der Standardwert ist definiert als null, 0 oder false, abhängig vom Zieltyp.

Es wird in 4.2 Variablendeklarationen beschrieben und Definitionen der The Scala Language Specification:

Eine variable Definition var x : T = _ nur als Mitglied einer Vorlage erscheinen kann. Es führt ein veränderbares Feld mit Typ T und einem Standardinitialwert ein. Der Standardwert hängt vom Typ T wie folgt:

0 - wenn T Int ist oder einer seiner Unterbereichstypen,

0L - wenn T ist lang,

0.0f - wenn T Float ist ,

0.0d - wenn T ist Double,

false - wenn T ist Boolean,

() - wenn T Einheit ist,

null - für alle anderen Arten T.

Verwandte Themen