के साथ काम नहीं करता है, मैं <:
के साथ विशेषता प्रकार में ओवरराइड करना चाहता हूं और =
के साथ नहीं (जैसे उत्तर Scala Upper Bounds : value is not a member of type parameter)।अमूर्त प्रकार ओवरराइडिंग के साथ केक पैटर्न ऊपरी प्रकार के बाउंड
मैं केक पैटर्न का उपयोग करना चाहता हूं, लेकिन यह काम नहीं करता है, मुझे समझ में नहीं आता क्यों?
trait A {
def ping = println("ping")
}
trait Cake {
type T
}
trait S { this: Cake =>
type T = A
def t: T
t.ping
}
ठीक है, यह उदाहरण रन, लेकिन मेरी वास्तविक उपयोग के मामले में मैं के साथ =
यह टी समारोह का उपयोग करने की, क्यों असंभव लगता है <:
और नहीं के साथ प्रकार ओवरराइड करने के लिए करना चाहते हैं?
trait S { this: Cake =>
type T <: A
def t: T
t.ping
}
वापसी एक त्रुटि value ping is not a member of S.this.T