062-065 completed

This commit is contained in:
Andrew Scott 2024-05-19 10:47:16 -04:00
parent b22b03d9f6
commit 2e5efa8f64
Signed by: a
GPG key ID: 7CD5A5977E4931C1
4 changed files with 10 additions and 10 deletions

View file

@ -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});

View file

@ -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.

View file

@ -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 });
}

View file

@ -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});
}