特征名称[+ Something]在scala中的含义是什么

时间:2014-12-08 15:15:59

标签: scala

我正在阅读scala默认库代码并找到了这篇文章:

trait TraversableLike[+A, +Repr] extends Any
    with HasNewBuilder[A, Repr]
    with FilterMonadic[A, Repr]
    with TraversableOnce[A]
    with GenTraversableLike[A, Repr]
    with Parallelizable[A, ParIterable[A]]
{
    self =>
    ...
}

究竟是做什么的?

1 个答案:

答案 0 :(得分:7)

在Scala中Generic[TypeParameter]是一种泛型类型,它接收一个类型作为参数。

Generic就像一个类型系列,在提供类型参数时可以专门化。一个明显的例子是List,它是"事物列表的通用类型&#34}。例如List[Int],后者是具体类型"整数列表"。

另一方面,类型修饰符" +"在TypeParameter之前用于确定泛型类型是否是协变的。同样," - "表明它的逆转。

enter image description here

来自Martin Ordesky的书( Scala编程):

enter image description here

...

...

...

enter image description here

最后,with将您的特征与指定的特征混合在一起。