diff options
Diffstat (limited to 'sources/scala/Iterator.scala')
-rw-r--r-- | sources/scala/Iterator.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/scala/Iterator.scala b/sources/scala/Iterator.scala index f3baf774d0..1cc26522d2 100644 --- a/sources/scala/Iterator.scala +++ b/sources/scala/Iterator.scala @@ -20,10 +20,16 @@ package scala; object Iterator { def empty[a] = new Iterator[a] { - def hasNext = false; + def hasNext: boolean = false; def next: a = error("next on empty iterator"); } + def single[a](x: a) = new Iterator[a] { + private var hasnext = false; + def hasNext: boolean = hasnext; + def next: a = if (hasnext) { hasnext = false; x } else error("next on empty iterator"); + } + def fromValues[a](xs: a*) = xs.elements; def fromArray[a](xs: Array[a]) = new Iterator[a] { |