diff options
author | Josh Suereth <joshua.suereth@gmail.com> | 2011-12-18 12:05:12 -0500 |
---|---|---|
committer | Josh Suereth <joshua.suereth@gmail.com> | 2011-12-18 12:05:12 -0500 |
commit | ab07db12cc09fd34cfab5abca9dd0f01df5f77a5 (patch) | |
tree | 58d4e0bf3206cc680a2a96499cfc1774fcff5265 /src/library | |
parent | a332a39d316f0223f00a31999b76a369f9e6fee4 (diff) | |
download | scala-ab07db12cc09fd34cfab5abca9dd0f01df5f77a5.tar.gz scala-ab07db12cc09fd34cfab5abca9dd0f01df5f77a5.tar.bz2 scala-ab07db12cc09fd34cfab5abca9dd0f01df5f77a5.zip |
unzip(3) on view now returns view.
* Added unzip and unzip3 to TraversableViewLike
* Added partest tests for unzip on views returning specific collection types.
Closes SI-5053
Review by @paulp
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/TraversableViewLike.scala | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/library/scala/collection/TraversableViewLike.scala b/src/library/scala/collection/TraversableViewLike.scala index 60870cc835..fbecad98fe 100644 --- a/src/library/scala/collection/TraversableViewLike.scala +++ b/src/library/scala/collection/TraversableViewLike.scala @@ -192,6 +192,12 @@ trait TraversableViewLike[+A, override def groupBy[K](f: A => K): immutable.Map[K, This] = thisSeq groupBy f mapValues (xs => newForced(xs)) + override def unzip[A1, A2](implicit asPair: A => (A1, A2)) = + (newMapped(x => asPair(x)._1), newMapped(x => asPair(x)._2)) // TODO - Performance improvements. + + override def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)) = + (newMapped(x => asTriple(x)._1), newMapped(x => asTriple(x)._2), newMapped(x => asTriple(x)._3)) // TODO - Performance improvements. + override def toString = viewToString } |