From b8ba0dbb54028db415952b42e7fe98a286e34d18 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Thu, 4 Jun 2026 15:03:31 +0200 Subject: [PATCH] progress --- exercises/026_hello2.zig | 2 +- exercises/027_defer.zig | 2 +- exercises/028_defer2.zig | 6 +++--- exercises/029_errdefer.zig | 2 +- exercises/030_switch.zig | 3 +++ exercises/031_switch2.zig | 1 + 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/exercises/026_hello2.zig b/exercises/026_hello2.zig index f110d87..096131f 100644 --- a/exercises/026_hello2.zig +++ b/exercises/026_hello2.zig @@ -28,5 +28,5 @@ pub fn main(init: std.process.Init) !void { // to be able to pass it up as a return value of main(). // // We just learned of a single statement which can accomplish this. - stdout.print("Hello world!\n", .{}); + try stdout.print("Hello world!\n", .{}); } diff --git a/exercises/027_defer.zig b/exercises/027_defer.zig index b41e2af..68d0974 100644 --- a/exercises/027_defer.zig +++ b/exercises/027_defer.zig @@ -20,6 +20,6 @@ const std = @import("std"); pub fn main() void { // Without changing anything else, please add a 'defer' statement // to this code so that our program prints "One Two\n": - std.debug.print("Two\n", .{}); + defer std.debug.print("Two\n", .{}); std.debug.print("One ", .{}); } diff --git a/exercises/028_defer2.zig b/exercises/028_defer2.zig index b490a89..9540f60 100644 --- a/exercises/028_defer2.zig +++ b/exercises/028_defer2.zig @@ -20,7 +20,7 @@ pub fn main() void { fn printAnimal(animal: u8) void { std.debug.print("(", .{}); - std.debug.print(") ", .{}); // <---- how?! + defer std.debug.print(") ", .{}); // <---- how?! if (animal == 'g') { std.debug.print("Goat", .{}); @@ -51,9 +51,9 @@ fn calculateTheUltimateQuestionOfLife() u32 { // Try reordering the statements to get the answer 42 { - defer x = x / 10; - defer x = x + 11; defer x = x * 2; + defer x = x + 11; + defer x = x / 10; } return x; diff --git a/exercises/029_errdefer.zig b/exercises/029_errdefer.zig index 39ab306..bda1ea2 100644 --- a/exercises/029_errdefer.zig +++ b/exercises/029_errdefer.zig @@ -32,7 +32,7 @@ fn makeNumber() MyErr!u32 { // Please make the "failed" message print ONLY if the makeNumber() // function exits with an error: - std.debug.print("failed!\n", .{}); + errdefer std.debug.print("failed!\n", .{}); var num = try getNumber(); // <-- This could fail! diff --git a/exercises/030_switch.zig b/exercises/030_switch.zig index cb983f5..b633c66 100644 --- a/exercises/030_switch.zig +++ b/exercises/030_switch.zig @@ -46,6 +46,9 @@ pub fn main() void { // match for every possible value). Please add an "else" // to this switch to print a question mark "?" when c is // not one of the existing matches. + else => { + std.debug.print("?", .{}); + }, } } diff --git a/exercises/031_switch2.zig b/exercises/031_switch2.zig index cf5b5a5..11d160b 100644 --- a/exercises/031_switch2.zig +++ b/exercises/031_switch2.zig @@ -29,6 +29,7 @@ pub fn main() void { // ... 25 => 'Y', 26 => 'Z', + else => '!', // As in the last exercise, please add the 'else' clause // and this time, have it return an exclamation mark '!'. };