From ebde4dd2e125045a927eb5bd1441d3c9da3f7668 Mon Sep 17 00:00:00 2001 From: Lex Spoon Date: Sat, 24 Mar 2007 14:41:36 +0000 Subject: Reverted toString in Seq, Map, and Set; it now ... Reverted toString in Seq, Map, and Set; it now prints out all elements, no matter how many there are. --- src/library/scala/Seq.scala | 18 +++++------------- src/library/scala/collection/Map.scala | 18 ++++-------------- src/library/scala/collection/Set.scala | 13 +++---------- 3 files changed, 12 insertions(+), 37 deletions(-) (limited to 'src/library') diff --git a/src/library/scala/Seq.scala b/src/library/scala/Seq.scala index 2dd89b5762..ea62218bea 100644 --- a/src/library/scala/Seq.scala +++ b/src/library/scala/Seq.scala @@ -242,9 +242,11 @@ trait Seq[+A] extends AnyRef with PartialFunction[Int, A] with Iterable[A] { @deprecated def subseq(from: Int, end: Int): Seq[A] = slice(from, end - from) - /** Converts this sequence to a fresh Array with length elements. + + /** Converts this sequence to a fresh Array with length + * elements. */ - def toArray[B >: A]: Array[B] = { + override def toArray[B >: A]: Array[B] = { val result = new Array[B](length) copyToArray(result, 0) result @@ -263,17 +265,7 @@ trait Seq[+A] extends AnyRef with PartialFunction[Int, A] with Iterable[A] { * * @return a string representation of this sequence. */ - override def toString() = { - val middle = - if(length <= 20) - mkString(",") - else { - val topr = 2 - elements.take(topr).mkString(",") + - (", and " + (length - topr) + " more...") - } - stringPrefix + "(" + middle + ")" - } + override def toString() = mkString("", ",", "") /** Defines the prefix of the string representation. diff --git a/src/library/scala/collection/Map.scala b/src/library/scala/collection/Map.scala index d10b063d21..f3aab7c16a 100644 --- a/src/library/scala/collection/Map.scala +++ b/src/library/scala/collection/Map.scala @@ -146,22 +146,13 @@ trait Map[A, +B] extends PartialFunction[A, B] with Iterable[(A, B)] { override def hashCode() = (0 /: elements) ((hash, kv) => hash + kv.hashCode) + /** Creates a string representation for this map. * - * @return a string showing all mappings, or a subset of them - * if the map is large. + * @return a string showing all mappings */ - override def toString() = { - def elem2str(kv: (A, B)) = kv._1 + " -> " + kv._2 - if(size <= 20) - elements.map(elem2str ).mkString("Map(", ", ", ")") - else { - val topr = 2 - val initStrs = elements.take(topr).map(elem2str) - initStrs.mkString("Map(", ", ", - ", and " + (size - topr) + " more ...)") - } - } + override def toString() = + elements.toList.map(kv => kv._1 + " -> " + kv._2).mkString("Map(", ", ", ")") /** The default value for the map, returned when a key is not found * The method implemented here yields an error, @@ -172,5 +163,4 @@ trait Map[A, +B] extends PartialFunction[A, B] with Iterable[(A, B)] { */ def default(key: A): B = throw new NoSuchElementException("key not found: " + key) - } diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala index 58e9640704..410ba733ce 100644 --- a/src/library/scala/collection/Set.scala +++ b/src/library/scala/collection/Set.scala @@ -91,17 +91,10 @@ trait Set[A] extends (A => Boolean) with Iterable[A] { override def hashCode() = (0 /: this)((hash, e) => hash * 41 + e.hashCode()) + /** Returns a string representation of this set. * - * @return a string showing all elements of this set, or a subset - * of them if the set is large. + * @return a string showing all elements of this set. */ - override def toString(): String = - if(size <= 20) - mkString("Set(", ", ", ")") - else { - val topr = 2 - elements.take(topr).mkString("Set(", ", ", - (", and " + (size - topr) + " more...)")) - } + override def toString(): String = mkString("Set(", ", ", ")") } -- cgit v1.2.3