diff options
author | Paul Phillips <paulp@improving.org> | 2010-04-07 19:23:08 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-04-07 19:23:08 +0000 |
commit | 6dd51419b8a2565db0ef1d6f36cb57b5ef7654cf (patch) | |
tree | 37fbdacc88c9c3fde2bc414c145fb5c02d707a0f /test/files | |
parent | 1b098c643a8df4cdb5e6d0fd84619575ed830266 (diff) | |
download | scala-6dd51419b8a2565db0ef1d6f36cb57b5ef7654cf.tar.gz scala-6dd51419b8a2565db0ef1d6f36cb57b5ef7654cf.tar.bz2 scala-6dd51419b8a2565db0ef1d6f36cb57b5ef7654cf.zip |
Gave Stream a lazy withFilter implementation.
can have a collection containing all the even numbers in the universe
and still be home in time for tea. Threw in some Stream cleanups for
free. Closes #3265, review by community.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/run/streamWithFilter.check | 5 | ||||
-rw-r--r-- | test/files/run/streamWithFilter.scala | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/streamWithFilter.check b/test/files/run/streamWithFilter.check new file mode 100644 index 0000000000..6b0e91a147 --- /dev/null +++ b/test/files/run/streamWithFilter.check @@ -0,0 +1,5 @@ +15 +30 +45 +60 +75 diff --git a/test/files/run/streamWithFilter.scala b/test/files/run/streamWithFilter.scala new file mode 100644 index 0000000000..cb919d4f55 --- /dev/null +++ b/test/files/run/streamWithFilter.scala @@ -0,0 +1,11 @@ +object Test { + val nums = Stream.from(1) + def isFizz(x: Int) = x % 3 == 0 + def isBuzz(x: Int) = x % 5 == 0 + // next line will run forever if withFilter isn't doing its thing. + val fizzbuzzes = for (n <- nums ; if isFizz(n) ; if isBuzz(n)) yield n + + def main(args: Array[String]): Unit = { + fizzbuzzes take 5 foreach println + } +} |