summaryrefslogtreecommitdiff
path: root/exercises/046_optionals2.zig
diff options
context:
space:
mode:
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;
}
}