类型参数中的Scala类型级别标识函数

时间:2011-02-04 05:16:58

标签: scala types

我可以声明一个抽象类型,例如

type A[B]

并在子类中定义为

type A[B] = Option[B]

如果我想让A成为一个选项。如果我想让A成为B本身,我可以这样做:

type A[B] = B

我可以使用类型参数而不是类型成员来实现相同的功能吗?

1 个答案:

答案 0 :(得分:6)

尝试使用更高级别的参数:

class Foo[A[_]] { ... }

type Id[A] = A

type Foo1 = Foo[Option]
type Foo2 = Foo[Id]