我想在Traversable
性状foreach
方法被定义如下:斯卡拉:Traversable的定义的foreach
def foreach[U](f: Elem => U)
应该有两种类型,Elem
和U
它被定义为foreach[U,Elem](f:Elem =>U)
?
我想在Traversable
性状foreach
方法被定义如下:斯卡拉:Traversable的定义的foreach
def foreach[U](f: Elem => U)
应该有两种类型,Elem
和U
它被定义为foreach[U,Elem](f:Elem =>U)
?
foreach[U](A => U)
是特征Traversable[+A]
中的方法。
trait Traversable[+A] extends TraversableLike[A, ...] {
...
}
trait TraversableLike[+A, ...] extends ... {
...
def foreach[U](f: A => U): Unit
...
}
https://github.com/scala/scala/blob/2.12.x/src/library/scala/collection/TraversableLike.scala#L124
Elem
类型来自Traversable
的通用类型。该函数的输入必须与Traversable
的元素具有相同的类型,因此在方法调用站点重新定义它是没有意义的。