我想在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
的元素具有相同的類型,因此在方法調用站點重新定義它是沒有意義的。