ich ein Merkmal schreibe die eine Funktion enthält:Zugriff auf eine Scala Trait-Methode in einem anderen Verfahren
trait MyTrait[X,Y] {
def f(x : X) : Y
}
Ich versuche, eine Map-Funktion hinzuzufügen:
trait MyTrait[X,Y] {
def f(x : X) : Y // the outer f
def map[Z](g : Y => Z) : MyTrait[X,Y] = MyTrait[X,Z] {
//namespace conflict : I need to access the outer f within this f
override def f(x : X) : Z = outerF andThen g
}
}
Meine Frage ist: wie referenziere ich die äußere f
? Ich habe super.f
und this.f
vergeblich versucht. Ich bin mir sicher, dass dies eine grundlegende Frage ist, die zuvor gestellt wurde, aber es ist nicht sehr "google-fähig", z.B. einfach zu suchen.
Vielen Dank im Voraus für Ihre Überlegung und Antwort.
Vielen Dank. Ich musste eine kleine Änderung vornehmen, um dein Beispiel zu kompilieren. –
@RamonJRomeroyVigil cool .. danke :) – pamu