From bd7866c7940c41d5c4f3f88e09c7354126eabe15 Mon Sep 17 00:00:00 2001 From: michelou Date: Mon, 23 Apr 2007 15:38:07 +0000 Subject: updated self aliases, for-comprehensions --- test/files/run/fors.scala | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 test/files/run/fors.scala (limited to 'test/files/run/fors.scala') diff --git a/test/files/run/fors.scala b/test/files/run/fors.scala new file mode 100644 index 0000000000..cd84649c15 --- /dev/null +++ b/test/files/run/fors.scala @@ -0,0 +1,83 @@ +//############################################################################ +// for-comprehensions (old and new syntax) +//############################################################################ +// $Id: $ + +//############################################################################ + +object Test extends Application { + val xs = List(1, 2, 3) + val ys = List('a, 'b, 'c) + + def it = 0 until 10 + + val ar = "abc".toCharArray + + /////////////////// old syntax /////////////////// + + def testOld { + println("\ntestOld") + + // lists + for (val x <- xs) print(x + " "); println + for (val x <- xs; + x % 2 == 0) print(x + " "); println + for {val x <- xs + x % 2 == 0} print(x + " "); println + var n = 0 + for (val _ <- xs) n += 1; println(n) + for (val (x, y) <- xs zip ys) print(x + " "); println + for (val p @ (x, y) <- xs zip ys) print(p._1 + " "); println + + // iterators + for (val x <- it) print(x + " "); println + for (val x <- it; + x % 2 == 0) print(x + " "); println + for {val x <- it + x % 2 == 0} print(x + " "); println + + // arrays + for (val x <- ar) print(x + " "); println + for (val x <- ar; + x.toInt > 97) print(x + " "); println + for {val x <- ar + x.toInt > 97} print(x + " "); println + } + + /////////////////// new syntax /////////////////// + + def testNew { + println("\ntestNew") + + // lists + var n = 0 + for (_ <- xs) n += 1; println(n) + for ((x, y) <- xs zip ys) print(x + " "); println + for (p @ (x, y) <- xs zip ys) print(p._1 + " "); println + + // iterators + for (x <- it) print(x + " "); println + for (x <- it if x % 2 == 0) print(x + " "); println + for (x <- it; if x % 2 == 0) print(x + " "); println + for (x <- it; + if x % 2 == 0) print(x + " "); println + for (x <- it + if x % 2 == 0) print(x + " "); println + for {x <- it + if x % 2 == 0} print(x + " "); println + for (x <- it; + val y = 2 + if x % y == 0) print(x + " "); println + for {x <- it + val y = 2 + if x % y == 0} print(x + " "); println + + // arrays + for (x <- ar) print(x + " "); println + } + + //////////////////////////////////////////////////// + + testOld + testNew +} -- cgit v1.2.3