summaryrefslogtreecommitdiff
path: root/exercises/046_optionals2.zig
diff options
context:
space:
mode:
authorIbrahim Muftee <ibrahim@muftee.net>2026-06-29 15:11:40 -0500
committerIbrahim Muftee <ibrahim@muftee.net>2026-06-29 15:15:14 -0500
commitbdfe3df2947f8787c8a4ef8c534f6a8932e13871 (patch)
treef2df9a5f56b6c7f95c0978a861cb0ecf60560391 /exercises/046_optionals2.zig
parentd093f37e1e4c5aed4a4c8d4999001134aec251ca (diff)
feat: begin solving exercises
Diffstat (limited to 'exercises/046_optionals2.zig')
-rw-r--r--exercises/046_optionals2.zig5
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;
}
}