aboutsummaryrefslogtreecommitdiff
path: root/13_while3.zig
diff options
context:
space:
mode:
authorDave Gauer <dave@ratfactor.com>2021-01-10 11:46:42 -0500
committerDave Gauer <dave@ratfactor.com>2021-01-10 11:46:42 -0500
commit483fb97dfccca833457f55798149b68942be6deb (patch)
tree92f7c2308669bbe1b41250858d463b556961d502 /13_while3.zig
parent0bb89e3e41cef893c158326a209aec129382c275 (diff)
downloadziglings-483fb97dfccca833457f55798149b68942be6deb.tar.gz
ziglings-483fb97dfccca833457f55798149b68942be6deb.tar.bz2
ziglings-483fb97dfccca833457f55798149b68942be6deb.tar.xz
ziglings-483fb97dfccca833457f55798149b68942be6deb.zip
Added Ex 11-14: while loops
Diffstat (limited to '13_while3.zig')
-rw-r--r--13_while3.zig30
1 files changed, 30 insertions, 0 deletions
diff --git a/13_while3.zig b/13_while3.zig
new file mode 100644
index 0000000..adb74ef
--- /dev/null
+++ b/13_while3.zig
@@ -0,0 +1,30 @@
+//
+// The last two exercises were functionally identical. Continue
+// expressions really show their utility when used with 'continue'
+// statements!
+//
+// Example:
+//
+// while (condition) : (continue expression){
+// if(other condition) continue;
+// ...
+// }
+//
+// The continue expression executes even when 'other condition'
+// is true and the loop is restarted by the 'continue' statement.
+//
+const std = @import("std");
+
+pub fn main() void {
+ var n: u32 = 1;
+
+ // I want to print every number between 1 and 20 that is NOT
+ // divisible by 3 or 5.
+ while (n <= 20) : (n+=1) {
+ if(n % 3 == 0) ???;
+ if(n % 5 == 0) ???;
+ std.debug.print("{} ", .{n});
+ }
+
+ std.debug.print("\n", .{});
+}