,使之短,這個工程:斯卡拉錯誤執行抽象方法與類型參數
object Main {
def main(args: Array[String]) {
trait T1[T] {
def f1(a: T): Double
}
val ea1 = new T1[List[String]] {
def f1(a: List[String]): Double = a.length
}
}
}
但這不會編譯:
object Main {
def main(args: Array[String]) {
trait T1 {
def f1[T](a: T): Double
}
val ea1 = new T1 {
def f1(a: List[String]): Double = a.length
}
}
}
object creation impossible, since method f1 in trait T1 of type [T](a: T)Double is not defined
val ea1 = new T1 {
^
好像方法不考慮由於方法上的類型參數。
如何在不使用特徵類型參數或特徵抽象類型的情況下實現此目的? TIA! TIA!
雖然這是一個很好的解決方案,我說,我不想特質類型的參數,我想要推斷的函數中的T型。在像這樣的簡單情況下的特質抽象類型像普通的類類型參數一樣工作... –
嗯..有點棘手.. – Shrey
好吧,有一個小的解決方法我已經設法得到我想要的感謝您的答案,我會接受它... –