Wie benutze ich ein Scala-Merkmal mit "self" -Referenz?

Sah ich einige code schreiben, die Eigenschaft, wie folgend:

trait SelfAware { self: Self =>
 ....
}

class Self
val s = new Self with SelfAware //this is ok
println(s.self) //error happened

class X
new X with SelfAware //error happened here

Ich würde gerne wissen, warum der Fehler passiert ist und wie Sie Merkmal in dieser Art und Weise?

Kommentar zu dem Problem
Was genau Fragen Sie? Kommentarautor: ricochet1k
Ich würde gerne wissen, warum der Fehler passiert ist und wie Sie Merkmal in dieser Art und Weise? Kommentarautor: Evans Y.
Ich bin froh, dass Sie lief in diesen Fehler, ich lernte ein bisschen mehr über Merkmale, weil es. 🙂 Besonders interessant ist es, dass Sie angeben können Einschränkungen in dieser Weise über das, was Arten von Dingen, die die Eigenschaft angewendet werden kann. Kommentarautor: Dan Burton
Da dies das erste mal, dass ich auf diesen Typ von syntax Frage ich mich, was ist der Unterschied zwischen - trait-SomeTrait {: SomeType => .... } und Eigenschaft SomeTrait erstreckt SomeType { ... } ? Kommentarautor: Georgios Pligoropoulos

InformationsquelleAutor der Frage Evans Y. | 2012-04-24

Schreibe einen Kommentar