summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/Set.scala
diff options
context:
space:
mode:
authorLex Spoon <lex@lexspoon.org>2007-03-23 16:46:49 +0000
committerLex Spoon <lex@lexspoon.org>2007-03-23 16:46:49 +0000
commit96fd08897359e2851aad31b7b515225dd02b0195 (patch)
tree9e4f726af790c7599bf21bb9909f36e00ea41a8f /src/library/scala/collection/Set.scala
parent16a3288cce270b3a8b03a85e2f3a0fb321c125ee (diff)
downloadscala-96fd08897359e2851aad31b7b515225dd02b0195.tar.gz
scala-96fd08897359e2851aad31b7b515225dd02b0195.tar.bz2
scala-96fd08897359e2851aad31b7b515225dd02b0195.zip
- toString() on large collections now only prints
a few of the elements - all maps now have getOrElse - mutable maps now have getOrElsePut
Diffstat (limited to 'src/library/scala/collection/Set.scala')
-rw-r--r--src/library/scala/collection/Set.scala13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala
index 94cb1d9256..58e9640704 100644
--- a/src/library/scala/collection/Set.scala
+++ b/src/library/scala/collection/Set.scala
@@ -93,8 +93,15 @@ trait Set[A] extends (A => Boolean) with Iterable[A] {
/** Returns a string representation of this set.
*
- * @return a string showing all elements of this set.
+ * @return a string showing all elements of this set, or a subset
+ * of them if the set is large.
*/
- override def toString(): String = mkString("Set(", ", ", ")")
-
+ override def toString(): String =
+ if(size <= 20)
+ mkString("Set(", ", ", ")")
+ else {
+ val topr = 2
+ elements.take(topr).mkString("Set(", ", ",
+ (", and " + (size - topr) + " more...)"))
+ }
}