Пишу свою собственную универсальную функцию картыi

Я пытаюсь написать свою собственную универсальную функцию 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. Какие изменения я должен внести, чтобы он работал с ] Карта тоже?

5
задан unknown946 23 July 2011 в 04:39
поделиться