summaryrefslogtreecommitdiffstatshomepage
path: root/exercises/27_defer.zig
diff options
context:
space:
mode:
authorDave Gauer <dave@ratfactor.com>2021-02-09 18:36:57 -0500
committerDave Gauer <dave@ratfactor.com>2021-02-09 18:36:57 -0500
commit55ad7c32f2d534b1fbd438204d21738f958c51a5 (patch)
tree16be4b53193105a759b3eec25be5e664d41c428d /exercises/27_defer.zig
parentcf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907 (diff)
Moved exercises to exercises because exercises
Diffstat (limited to 'exercises/27_defer.zig')
-rw-r--r--exercises/27_defer.zig25
1 files changed, 25 insertions, 0 deletions
diff --git a/exercises/27_defer.zig b/exercises/27_defer.zig
new file mode 100644
index 0000000..b41e2af
--- /dev/null
+++ b/exercises/27_defer.zig
@@ -0,0 +1,25 @@
+//
+// You can assign some code to run _after_ a block of code exits by
+// deferring it with a "defer" statement:
+//
+// {
+// defer runLater();
+// runNow();
+// }
+//
+// In the example above, runLater() will run when the block ({...})
+// is finished. So the code above will run in the following order:
+//
+// runNow();
+// runLater();
+//
+// This feature seems strange at first, but we'll see how it could be
+// useful in the next exercise.
+const std = @import("std");
+
+pub fn main() void {
+ // Without changing anything else, please add a 'defer' statement
+ // to this code so that our program prints "One Two\n":
+ std.debug.print("Two\n", .{});
+ std.debug.print("One ", .{});
+}