diff options
| author | Ibrahim Muftee <ibrahim@muftee.net> | 2026-06-29 15:11:40 -0500 |
|---|---|---|
| committer | Ibrahim Muftee <ibrahim@muftee.net> | 2026-06-29 15:15:14 -0500 |
| commit | bdfe3df2947f8787c8a4ef8c534f6a8932e13871 (patch) | |
| tree | f2df9a5f56b6c7f95c0978a861cb0ecf60560391 /exercises/046_optionals2.zig | |
| parent | d093f37e1e4c5aed4a4c8d4999001134aec251ca (diff) | |
feat: begin solving exercises
Diffstat (limited to 'exercises/046_optionals2.zig')
| -rw-r--r-- | exercises/046_optionals2.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/exercises/046_optionals2.zig b/exercises/046_optionals2.zig index b5fffbb..a158389 100644 --- a/exercises/046_optionals2.zig +++ b/exercises/046_optionals2.zig @@ -22,7 +22,7 @@ const std = @import("std"); const Elephant = struct { letter: u8, - tail: *Elephant = null, // Hmm... tail needs something... + tail: ?*Elephant = null, // Hmm... tail needs something... visited: bool = false, }; @@ -34,6 +34,7 @@ pub fn main() void { // Link the elephants so that each tail "points" to the next. linkElephants(&elephantA, &elephantB); linkElephants(&elephantB, &elephantC); + linkElephants(&elephantC, &elephantA); // `linkElephants` will stop the program if you try and link an // elephant that doesn't exist! Uncomment and see what happens. @@ -66,6 +67,6 @@ fn visitElephants(first_elephant: *Elephant) void { // HINT: We want something similar to what `.?` does, // but instead of ending the program, we want to exit the loop... - e = e.tail ??? + e = e.tail orelse break; } } |
