From bdfe3df2947f8787c8a4ef8c534f6a8932e13871 Mon Sep 17 00:00:00 2001 From: Ibrahim Muftee Date: Mon, 29 Jun 2026 15:11:40 -0500 Subject: feat: begin solving exercises --- exercises/046_optionals2.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'exercises/046_optionals2.zig') 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; } } -- cgit v1.2.3