代码之家  ›  专栏  ›  技术社区  ›  Jordan Cutler

Scala-扩展泛型类型参数

  •  0
  • Jordan Cutler  · 技术社区  · 7 年前

    对不起,如果这是重复的。在一些基本的搜索中找不到。

    如果我有

    trait Container[T] { data: T } 
    

    我正在尝试一个trait扩展容器,使数据是可遍历的[T]。

    下面的句子会这样做吗?它是什么意思/你会怎么读?

    trait Extension[T] extends Container[Traversable[T]]
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   francoisr    7 年前

    是的,扩展名[T]是一个容器[Traversable[T]],这意味着它只能将Traversable[T]作为数据保存。

    请注意,您可能需要定义 Extension[+T] 而不是 Extension[T] (为了 Container 也一样)。这意味着 Extension[Cat] Extension[Animal] .