1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import scala.collection.generic.CanBuildFrom
import scala.collection._
object Test {
def collect[A, Res](r: Traversable[A])(implicit bf: generic.CanBuild[A, Res]) = {
val b: collection.mutable.Builder[A, Res] = bf()
r foreach ((a: A) => b += a)
b.result
}
collect[Int, Vector[Int]](List(1,2,3,4))
collect[Char, String](List('1','2','3','4'))
collect[Char, Array[Char]](List('1','2','3','4'))
}
|