1
這是我的第一個問題,所以我希望我能夠正確地做所有事情。將類型成員類型擴展爲集合
我的情況是這樣的:我想使用類型類來表示特定類型在函數下關閉。具體而言,類型類別被稱爲Substitutable
。目的是如果T
是Substitutable
的一個實例,那麼您可以對其應用替代並獲得T
作爲回報。這是通過的每個實例必須實現的方法applySubstitution
來實現的。
集合繼承此閉包屬性;如果我將元素替換應用於列表T
s,其中T
是Substitutable
的一個實例,則結果將再次爲T
s的列表,因此List[T]
本身就是Substitutable
的一個實例。
總之,如果T
是一個實例,我想使List[T]
爲Substitutable
的實例。我看不出如何表達這一點。我看到它的方式,我需要寫類似
implicit objectSubstitutableList[T: Substitutable] extends Substitutable[List[T]],
但這是不可能的,因爲我不能給一個類型參數的隱式對象。
我該如何解決這個問題?