diff options
Diffstat (limited to 'exercises/087_async4.zig')
-rw-r--r-- | exercises/087_async4.zig | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/exercises/087_async4.zig b/exercises/087_async4.zig new file mode 100644 index 0000000..bb9c9ec --- /dev/null +++ b/exercises/087_async4.zig @@ -0,0 +1,30 @@ +// +// It has probably not escaped your attention that we are no +// longer capturing a return value from foo() because the 'async' +// keyword returns the frame instead. +// +// One way to solve this is to use a global variable. +// +// See if you can make this program print "1 2 3 4 5". +// +const print = @import("std").debug.print; + +var global_counter: i32 = 0; + +pub fn main() void { + var foo_frame = async foo(); + + while (global_counter <= 5) { + print("{} ", .{global_counter}); + ??? + } + + print("\n", .{}); +} + +fn foo() void { + while (true) { + ??? + ??? + } +} |