diff options
author | Martin Odersky <odersky@gmail.com> | 2010-03-11 17:11:24 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-03-11 17:11:24 +0000 |
commit | 83520220541c0ff8e3c9f9efde10f90b963e679f (patch) | |
tree | 8f165f6bcff0ec0da38c0259fc760b4c3c81bbaf /src/library/scala/collection/immutable/MapLike.scala | |
parent | f584d243487dcd1214291167707e2f53fef5ab5e (diff) | |
download | scala-83520220541c0ff8e3c9f9efde10f90b963e679f.tar.gz scala-83520220541c0ff8e3c9f9efde10f90b963e679f.tar.bz2 scala-83520220541c0ff8e3c9f9efde10f90b963e679f.zip |
Partially reverted r21018.
Diffstat (limited to 'src/library/scala/collection/immutable/MapLike.scala')
-rw-r--r-- | src/library/scala/collection/immutable/MapLike.scala | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/library/scala/collection/immutable/MapLike.scala b/src/library/scala/collection/immutable/MapLike.scala index 88f938fb56..f669268a88 100644 --- a/src/library/scala/collection/immutable/MapLike.scala +++ b/src/library/scala/collection/immutable/MapLike.scala @@ -113,6 +113,18 @@ self => def get(key: A) = self.get(key).map(f) } + /** This function transforms all the values of mappings contained + * in this map with function <code>f</code>. + * + * @param f A function over keys and values + * @return the updated map + */ + def transform[C, That](f: (A, B) => C)(implicit bf: CanBuildFrom[This, (A, C), That]): That = { + val b = bf(repr) + for ((key, value) <- this) b += ((key, f(key, value))) + b.result + } + @deprecated("use `updated' instead") def update[B1 >: B](key: A, value: B1): immutable.Map[A, B1] = updated(key, value).asInstanceOf[immutable.Map[A, B1]] } |