From 2e5efa8f64cca91589566f8d7c19fd57dd19aecb Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Sun, 19 May 2024 10:47:16 -0400 Subject: [PATCH] 062-065 completed --- exercises/062_loop_expressions.zig | 2 +- exercises/063_labels.zig | 4 ++-- exercises/064_builtins.zig | 4 ++-- exercises/065_builtins2.zig | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/exercises/062_loop_expressions.zig b/exercises/062_loop_expressions.zig index f6b8771..8c37e28 100644 --- a/exercises/062_loop_expressions.zig +++ b/exercises/062_loop_expressions.zig @@ -47,7 +47,7 @@ pub fn main() void { // return it from the for loop. const current_lang: ?[]const u8 = for (langs) |lang| { if (lang.len == 3) break lang; - }; + } else null; if (current_lang) |cl| { print("Current language: {s}\n", .{cl}); diff --git a/exercises/063_labels.zig b/exercises/063_labels.zig index 79adfaa..a131101 100644 --- a/exercises/063_labels.zig +++ b/exercises/063_labels.zig @@ -128,8 +128,8 @@ pub fn main() void { // wanted for this Food. // // Please return this Food from the loop. - break; - }; + break food; + } else menu[0]; // ^ Oops! We forgot to return Mac & Cheese as the default // Food when the requested ingredients aren't found. diff --git a/exercises/064_builtins.zig b/exercises/064_builtins.zig index e91dfbe..f8bec67 100644 --- a/exercises/064_builtins.zig +++ b/exercises/064_builtins.zig @@ -63,7 +63,7 @@ pub fn main() void { // // If there was no overflow at all while adding 5 to a, what value would // 'my_result' hold? Write the answer in into 'expected_result'. - const expected_result: u8 = ???; + const expected_result: u8 = @as(u8, a) + @as(u8, b); print(". Without overflow: {b:0>8}. ", .{expected_result}); print("Furthermore, ", .{}); @@ -78,6 +78,6 @@ pub fn main() void { // Now it's your turn. See if you can fix this attempt to use // this builtin to reverse the bits of a u8 integer. const input: u8 = 0b11110000; - const tupni: u8 = @bitReverse(input, tupni); + const tupni: u8 = @bitReverse(input); print("{b:0>8} backwards is {b:0>8}.\n", .{ input, tupni }); } diff --git a/exercises/065_builtins2.zig b/exercises/065_builtins2.zig index 283aca5..a2dc705 100644 --- a/exercises/065_builtins2.zig +++ b/exercises/065_builtins2.zig @@ -58,7 +58,7 @@ pub fn main() void { // Oops! We cannot leave the 'me' and 'myself' fields // undefined. Please set them here: narcissus.me = &narcissus; - narcissus.??? = ???; + narcissus.myself = &narcissus; // This determines a "peer type" from three separate // references (they just happen to all be the same object). @@ -70,7 +70,7 @@ pub fn main() void { // // The fix for this is very subtle, but it makes a big // difference! - const Type2 = narcissus.fetchTheMostBeautifulType(); + const Type2 = Narcissus.fetchTheMostBeautifulType(); // Now we print a pithy statement about Narcissus. print("A {s} loves all {s}es. ", .{ @@ -109,15 +109,15 @@ pub fn main() void { // Please complete these 'if' statements so that the field // name will not be printed if the field is of type 'void' // (which is a zero-bit type that takes up no space at all!): - if (fields[0].??? != void) { + if (fields[0].type != void) { print(" {s}", .{@typeInfo(Narcissus).Struct.fields[0].name}); } - if (fields[1].??? != void) { + if (fields[1].type != void) { print(" {s}", .{@typeInfo(Narcissus).Struct.fields[1].name}); } - if (fields[2].??? != void) { + if (fields[2].type != void) { print(" {s}", .{@typeInfo(Narcissus).Struct.fields[2].name}); }