diff options
author | Martin Odersky <odersky@gmail.com> | 2009-05-08 16:33:15 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-05-08 16:33:15 +0000 |
commit | 14a631a5fec42d04d0723355a0b93e482b5e4662 (patch) | |
tree | f639c2a22e89e193b9abea391993ecfd4d5326ee /test/files/run/forvaleq.scala | |
parent | 2379eb4ebbd28c8892b50a1d9fa8a687099eea4d (diff) | |
download | scala-14a631a5fec42d04d0723355a0b93e482b5e4662.tar.gz scala-14a631a5fec42d04d0723355a0b93e482b5e4662.tar.bz2 scala-14a631a5fec42d04d0723355a0b93e482b5e4662.zip |
massive new collections checkin.
Diffstat (limited to 'test/files/run/forvaleq.scala')
-rw-r--r-- | test/files/run/forvaleq.scala | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/test/files/run/forvaleq.scala b/test/files/run/forvaleq.scala deleted file mode 100644 index 1e4fd33dbc..0000000000 --- a/test/files/run/forvaleq.scala +++ /dev/null @@ -1,92 +0,0 @@ -// test "foo = expr" clauses in for comprehensions -// $Id$ - -import scala.collection.immutable.Queue -import scala.{List=>L} - -object Test { - // redefine some symbols to make it extra hard - class List - class Tuple2 - def List[A](as: A*) = 5 - - def firstDigit(x: Int): Int = - x match { - case 0 => 0 - case _ if (x<0) => firstDigit(-x) - case _ if (x<10) => x - case _ => firstDigit(x / 10) - } - - - { - // a basic test case - - val input = L.range(0,20) - val oddFirstTimesTwo = - for {x <- input - xf = firstDigit(x) - if xf % 2 == 1} - yield x*2 - println(oddFirstTimesTwo) - } - - { - // a test case with patterns - - val input = L.range(0, 20) - val oddFirstTimesTwo = - for {x <- input - xf = firstDigit(x) - yf = x - firstDigit(x) / 10 - (a, b) = (xf - yf, xf + yf) - if xf % 2 == 1} - yield a + b - println(oddFirstTimesTwo) - } - - { - // make sure it works on non-Ls - - // val input: Queue = Queue.Empty[int].incl(L.range(0,20)) - val input = L.range(0, 20).elements - val oddFirstTimesTwo = - for {x <- input - xf = firstDigit(x) - if xf % 2 == 1} - yield x*2 - println(oddFirstTimesTwo.toList) - } - - { - // yield the computed value - - val input = L.range(0,20) - val oddFirstTimesTwo = - for {x <- input - xf = firstDigit(x) - if xf % 2 == 1} - yield xf*2 - println(oddFirstTimesTwo) - } - - { - // make sure the function is only called once - var count: Int = 0 - - def fdct(x: Int) = { - count += 1 - firstDigit(x) - } - - val input = L.range(0,20) - for {x <- input - xf = fdct(x) - if xf % 2 == 1} - yield xf - - println("called " + count + " times") - } - - def main(args: Array[String]) {} -} |