summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/collection/Iterator.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/library/scala/collection/Iterator.scala b/src/library/scala/collection/Iterator.scala
index 5238a66f70..e2252d5aab 100644
--- a/src/library/scala/collection/Iterator.scala
+++ b/src/library/scala/collection/Iterator.scala
@@ -429,6 +429,17 @@ trait Iterator[+A] extends TraversableOnce[A] {
}
}
+ def scanLeft[B](z: B)(op: (B, A) => B): Iterator[B] = new Iterator[B] {
+ var hasNext = true
+ var elem = z
+ def next() = if (hasNext) {
+ val res = elem
+ if (self.hasNext) elem = op(elem, self.next())
+ else hasNext = false
+ res
+ } else Iterator.empty.next()
+ }
+
/** Takes longest prefix of values produced by this iterator that satisfy a predicate.
* @param p The predicate used to test elements.
* @return An iterator returning the values produced by this iterator, until