現在,金Stebel helped me understanding如何與存在的類型類型變量,我需要知道如何在繼承使用它們:更多斯卡拉打字問題
下面的代碼無法編譯:
class PagingListModel(startPageNumber: Int, pageSize: Int, query: Query[Projection[_ <: Product]]) extends AbstractListModel {
val itemStartNumber: Int = startPageNumber * pageSize
val items: List[Product] = getPageData()
override def getPageData(): List[Product] = {
db withSession {
return queryToQueryInvoker(query.drop(itemStartNumber).take(pageSize)).list
}
}
}
......與錯誤:
no type parameters for method queryToQueryInvoker:
(q: org.scalaquery.ql.Query[org.scalaquery.ql.ColumnBase[T]])
org.scalaquery.ql.basic.BasicQueryInvoker[T]
exist so that it can be applied to arguments
(org.scalaquery.ql.Query[org.scalaquery.ql.Projection[_ <: Product]])
--- because ---
argument expression's type is not compatible with formal parameter type;
found : org.scalaquery.ql.Query[org.scalaquery.ql.Projection[_ <: Product]]
required: org.scalaquery.ql.Query[org.scalaquery.ql.ColumnBase[?T]]
...這是奇怪的,因爲所需的類型真的是找到了一個的範圍內...
PS:我真的只是想能夠調用foreach
在由getPageData()
返回列表中的每個元組...
我會考慮 – 2011-05-29 12:10:23
看起來不錯!這絕對是我從未想過整個該死的時間,我試圖找到我的錯誤的一件事... – 2011-05-29 12:20:18