summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/MapLike.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-03-11 17:11:24 +0000
committerMartin Odersky <odersky@gmail.com>2010-03-11 17:11:24 +0000
commit83520220541c0ff8e3c9f9efde10f90b963e679f (patch)
tree8f165f6bcff0ec0da38c0259fc760b4c3c81bbaf /src/library/scala/collection/immutable/MapLike.scala
parentf584d243487dcd1214291167707e2f53fef5ab5e (diff)
downloadscala-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.scala12
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]]
}