aboutsummaryrefslogtreecommitdiff
path: root/14_while4.zig
diff options
context:
space:
mode:
Diffstat (limited to '14_while4.zig')
-rw-r--r--14_while4.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/14_while4.zig b/14_while4.zig
new file mode 100644
index 0000000..e686f88
--- /dev/null
+++ b/14_while4.zig
@@ -0,0 +1,24 @@
+//
+// Continue expressions do NOT execute when a while loop stops
+// because of a 'break' statement.
+//
+// Example:
+//
+// while (condition) : (continue expression){
+// if(other condition) break;
+// ...
+// }
+//
+const std = @import("std");
+
+pub fn main() void {
+ var n: u32 = 1;
+
+ // Oh dear! This while loop will go forever!?
+ while (true) : (n+=1) {
+ if(???) ???;
+ }
+
+ // Result: we want n=4
+ std.debug.print("n={}\n", .{n});
+}