說我有一個類,需要一個更高的kinded類型,我想寫的東西是這樣的:提取和使用更高kinded類型中的類型參數?
class Foo[T[U]](thing: T[U]) {
def someMethodThatUsesU(arg: U): U = ???
}
這無法編譯,因爲編譯器無法識別該符號U
。怎麼來的?有沒有另一種方式來寫這個沒有做像class Foo[U, T[U]]
?
一些背景:這是一個簡化的問題示例。最後,我想寫出這樣的事情:如果你關心什麼U
是
trait SomeTrait[T]
class SomeClass[T[U] <: SomeTrait[U]](arg: T[U]) {
def somethingWithU(arg: U): U = ???
}
嗯,謝謝你澄清什麼更高級的類型。是的,這將工作,雖然它基本上是我最初試圖避免:( – bioball