Я пытаюсь написать свою собственную универсальную функцию map
, и вот что я придумал :
def map[A, B, CC[X] <: Traversable[X], That]
(xs: CC[A])(f: A => B)
(implicit cbf: CanBuildFrom[CC[_], B, That]): That = {
val b = cbf(xs)
for (a <- xs)
b += f(a)
b.result
}
Похоже, это работает с List
, Vector
, но не с Map
s. Какие изменения я должен внести, чтобы он работал с ] Карта
тоже?