12得票2回答
存在类型和类型成员

有效的方法(A部分) 假设我有一个带有类型参数的特性: trait A[T] 我可以使用存在类型来编写一个方法,该方法将接受一个集合,其中所有的A都有相同的T: def foo(as: Seq[A[X]] forSome { type X }) = true 请注意,这与以下内容...

11得票1回答
Scala将递归有界类型参数(F-bounded)转换为类型成员

我该如何转换:trait Foo[A <: Foo[A]] 转换为类型成员? 也就是说,我想要类似以下的东西:trait Foo { type A <: Foo {type A = ???} } 但我遇到了困难,因为类型细化中已经使用了名称A。这个问题类似于(并源自):通过类...

10得票2回答
使用类型成员对案例对象进行模式匹配

Scala有一个很好的特性,可以在模式匹配中推断类型参数。它还检查了模式匹配的穷尽性。例如: sealed trait PField[T] case object PField1 extends PField[String] case object PField2 extends PFi...

9得票1回答
我的类MyClass.this.T没有可用的ClassTag,这是一个抽象类型。

这个很好用 class MyClass[T<: Actor: ClassTag] extends Actor { //.... } 但是由于错误 No ClassTag available for MyClass.this.T, 这个无法实现。 class MyClass e...

8得票2回答
Scala类型推断对存在类型和类型成员的应用

下面这段代码无法编译: trait A[F] { def find(x: Int): F def fill(f: F): Unit } object TestA { def test[T <: A[F] forSome { type F }](t: T) = t....