说我有一个类,需要一个更高的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