Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala:可遍历的foreach定义_Scala_Generics - Fatal编程技术网

Scala:可遍历的foreach定义

Scala:可遍历的foreach定义,scala,generics,Scala,Generics,我假设Traversabletrait中的foreach方法定义如下: def foreach[U](f: Elem => U) 它应该被定义为foreach[U,Elem](f:Elem=>U),因为有两种类型,Elem和U?Elem类型来自可遍历的的泛型。函数的输入必须与可遍历的元素类型相同,因此在方法调用站点重新定义它是没有意义的。元素类型来自可遍历的泛型。函数的输入必须与可遍历的元素的类型相同,因此在方法调用站点重新定义它没有意义。foreach[U](A=>U)是trait可遍

我假设
Traversable
trait中的
foreach
方法定义如下:

def foreach[U](f: Elem => U)

它应该被定义为
foreach[U,Elem](f:Elem=>U)
,因为有两种类型,
Elem
U
Elem
类型来自
可遍历的
的泛型。函数的输入必须与
可遍历
的元素类型相同,因此在方法调用站点重新定义它是没有意义的。

元素
类型来自
可遍历
的泛型。函数的输入必须与可遍历的
元素的类型相同,因此在方法调用站点重新定义它没有意义。

foreach[U](A=>U)
是trait
可遍历[+A]
中的方法

trait Traversable[+A] extends TraversableLike[A, ...] {
  ...
}

trait TraversableLike[+A, ...] extends ... {
  ...

  def foreach[U](f: A => U): Unit

  ...
}
foreach[U](A=>U)
是trait
中可遍历[+A]
的方法

trait Traversable[+A] extends TraversableLike[A, ...] {
  ...
}

trait TraversableLike[+A, ...] extends ... {
  ...

  def foreach[U](f: A => U): Unit

  ...
}