summaryrefslogtreecommitdiff
path: root/test/files/run/fors.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2007-04-23 15:38:07 +0000
committermichelou <michelou@epfl.ch>2007-04-23 15:38:07 +0000
commitbd7866c7940c41d5c4f3f88e09c7354126eabe15 (patch)
tree7b2a2bd12160cf920fac5fd7867218ded4f0967c /test/files/run/fors.scala
parent90c68e19144fa811671b8e1dc3ad0e7ecc5b487c (diff)
downloadscala-bd7866c7940c41d5c4f3f88e09c7354126eabe15.tar.gz
scala-bd7866c7940c41d5c4f3f88e09c7354126eabe15.tar.bz2
scala-bd7866c7940c41d5c4f3f88e09c7354126eabe15.zip
updated self aliases, for-comprehensions
Diffstat (limited to 'test/files/run/fors.scala')
-rw-r--r--test/files/run/fors.scala83
1 files changed, 83 insertions, 0 deletions
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
+}