[svn] r6502: nemerle/trunk: macros/Util.n
ncc/testsuite/positive/list-compr.n
nazgul
svnadmin at nemerle.org
Thu Aug 10 20:03:25 CEST 2006
Log:
Fix imperative continue in list comprehension foreach
Author: nazgul
Date: Thu Aug 10 20:03:16 2006
New Revision: 6502
Modified:
nemerle/trunk/macros/Util.n
nemerle/trunk/ncc/testsuite/positive/list-compr.n
Modified: nemerle/trunk/macros/Util.n
==============================================================================
--- nemerle/trunk/macros/Util.n (original)
+++ nemerle/trunk/macros/Util.n Thu Aug 10 20:03:16 2006
@@ -292,8 +292,8 @@
def last = $last;
while (if (delta < 0) i >= last else i <= last) {
def $pat = i;
- $acc;
i += delta;
+ $acc;
}
]>)
@@ -304,8 +304,8 @@
def last = $last;
while (i <= last) {
def $pat = i;
- $acc;
i++;
+ $acc;
}
]>)
Modified: nemerle/trunk/ncc/testsuite/positive/list-compr.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/list-compr.n (original)
+++ nemerle/trunk/ncc/testsuite/positive/list-compr.n Thu Aug 10 20:03:16 2006
@@ -32,6 +32,19 @@
WriteLine ($[1 .. 10])
WriteLine ($[1, 3 .. 10])
+WriteLine ("-------- Imperative ----");
+foreach(i in $[2..10]) {
+ when (i % 2 == 0)
+ Nemerle.Imperative.Continue();
+ System.Console.WriteLine(i);
+}
+foreach(i in $[2, 4..20]) {
+ when (i % 3 == 0)
+ Nemerle.Imperative.Continue();
+ System.Console.WriteLine(i);
+ when (i == 14) Nemerle.Imperative.Break ();
+}
+
/*
BEGIN-OUTPUT
[(2, 1), (3, 1), (3, 2)]
@@ -70,5 +83,15 @@
1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 3, 5, 7, 9]
+-------- Imperative ----
+3
+5
+7
+9
+2
+4
+8
+10
+14
END-OUTPUT
*/
More information about the svn
mailing list