diff options
author | Paul Phillips <paulp@improving.org> | 2009-07-16 20:31:24 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-07-16 20:31:24 +0000 |
commit | 3eadba0dddb50a54aa4bf11b34768b51694e03e0 (patch) | |
tree | 73dbe4dabbb89359a8c64f94a9aeea17362e7881 /src | |
parent | b66b9de0eeaccc30850ba53d66b2ad5d0bc10f87 (diff) | |
download | scala-3eadba0dddb50a54aa4bf11b34768b51694e03e0.tar.gz scala-3eadba0dddb50a54aa4bf11b34768b51694e03e0.tar.bz2 scala-3eadba0dddb50a54aa4bf11b34768b51694e03e0.zip |
scala> List(1,2,3) endsWith List(2, "I AM GOZER...
scala> List(1,2,3) endsWith List(2, "I AM GOZER THE DESTROYER")
res0: Boolean = true
... is fixed.
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/collection/generic/SequenceTemplate.scala | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/library/scala/collection/generic/SequenceTemplate.scala b/src/library/scala/collection/generic/SequenceTemplate.scala index ba949152bd..df49b442bb 100644 --- a/src/library/scala/collection/generic/SequenceTemplate.scala +++ b/src/library/scala/collection/generic/SequenceTemplate.scala @@ -283,11 +283,12 @@ trait SequenceTemplate[+A, +This <: IterableTemplate[A, This] with Sequence[A]] * @see String.startsWith */ def startsWith[B](that: Sequence[B], offset: Int): Boolean = { - val i = this.iterator.drop(offset) + val i = this.iterator drop offset val j = that.iterator - while (j.hasNext && i.hasNext) { - if (i.next != j.next) return false - } + while (j.hasNext && i.hasNext) + if (i.next != j.next) + return false + !j.hasNext } @@ -305,7 +306,10 @@ trait SequenceTemplate[+A, +This <: IterableTemplate[A, This] with Sequence[A]] def endsWith[B](that: Sequence[B]): Boolean = { val i = this.iterator.drop(length - that.length) val j = that.iterator - while (i.hasNext && j.hasNext && i.next == j.next) () + while (i.hasNext && j.hasNext) + if (i.next != j.next) + return false + !j.hasNext } |