From cc0101392124fca0944dc4447a049ab406aa8a94 Mon Sep 17 00:00:00 2001 From: Dave Gauer Date: Sun, 4 Apr 2021 16:23:27 -0400 Subject: [PATCH] Normalized exercise output, answers (#41) 1. All exercises should print a trailing \n 2. The build script should always show you _exactly_ what it's looking for when you get it wrong. Therefore, .output should be set to the exact expected output. --- build.zig | 20 ++++++++++---------- exercises/022_errors2.zig | 2 +- exercises/023_errors3.zig | 2 +- exercises/024_errors4.zig | 2 +- exercises/025_errors5.zig | 2 +- exercises/036_enums2.zig | 1 + exercises/037_structs.zig | 2 +- exercises/043_pointers5.zig | 2 +- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/build.zig b/build.zig index 23d3a04..0739554 100644 --- a/build.zig +++ b/build.zig @@ -73,12 +73,12 @@ const exercises = [_]Exercise{ }, .{ .main_file = "007_strings2.zig", - .output = "Ziggy", + .output = "Ziggy played guitar\nJamming good with Andrew Kelley\nAnd the Spiders from Mars", .hint = "Please fix the lyrics!", }, .{ .main_file = "008_quiz.zig", - .output = "Program in Zig", + .output = "Program in Zig!", .hint = "See if you can fix the program!", }, .{ @@ -87,16 +87,16 @@ const exercises = [_]Exercise{ }, .{ .main_file = "010_if2.zig", - .output = "price is $17", + .output = "With the discount, the price is $17.", }, .{ .main_file = "011_while.zig", - .output = "n=1024", + .output = "2 4 8 16 32 64 128 256 512 n=1024", .hint = "You probably want a 'less than' condition.", }, .{ .main_file = "012_while2.zig", - .output = "n=1024", + .output = "2 4 8 16 32 64 128 256 512 n=1024", .hint = "It might help to look back at the previous exercise.", }, .{ @@ -117,12 +117,12 @@ const exercises = [_]Exercise{ }, .{ .main_file = "017_quiz2.zig", - .output = "8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16", + .output = "1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16,", .hint = "This is a famous game!", }, .{ .main_file = "018_functions.zig", - .output = "Question: 42", + .output = "Answer to the Ultimate Question: 42", .hint = "Can you help write the function?", }, .{ @@ -158,7 +158,7 @@ const exercises = [_]Exercise{ }, .{ .main_file = "026_hello2.zig", - .output = "Hello world", + .output = "Hello world!", .hint = "Try using a try!", .check_stdout = true, }, @@ -204,7 +204,7 @@ const exercises = [_]Exercise{ }, .{ .main_file = "036_enums2.zig", - .output = "#0000ff", + .output = "

\n Red\n Green\n Blue\n

", .hint = "I'm feeling blue about this.", }, .{ @@ -213,7 +213,7 @@ const exercises = [_]Exercise{ }, .{ .main_file = "038_structs2.zig", - .output = "Character 2 - G:10 H:100 XP:20", + .output = "Character 1 - G:20 H:100 XP:10\nCharacter 2 - G:10 H:100 XP:20", }, .{ .main_file = "039_pointers.zig", diff --git a/exercises/022_errors2.zig b/exercises/022_errors2.zig index 7bf00d4..1d513b3 100644 --- a/exercises/022_errors2.zig +++ b/exercises/022_errors2.zig @@ -25,5 +25,5 @@ pub fn main() void { // an error. Can you set the type correctly above? my_number = MyNumberError.TooSmall; - std.debug.print("I compiled!", .{}); + std.debug.print("I compiled!\n", .{}); } diff --git a/exercises/023_errors3.zig b/exercises/023_errors3.zig index a465737..81dd733 100644 --- a/exercises/023_errors3.zig +++ b/exercises/023_errors3.zig @@ -14,7 +14,7 @@ pub fn main() void { var a: u32 = addTwenty(44) catch 22; var b: u32 = addTwenty(4) ??? 22; - std.debug.print("a={}, b={}", .{ a, b }); + std.debug.print("a={}, b={}\n", .{ a, b }); } // Please provide the return type from this function. diff --git a/exercises/024_errors4.zig b/exercises/024_errors4.zig index 7712f76..d45ab92 100644 --- a/exercises/024_errors4.zig +++ b/exercises/024_errors4.zig @@ -25,7 +25,7 @@ pub fn main() void { var b: u32 = makeJustRight(14) catch 0; var c: u32 = makeJustRight(4) catch 0; - std.debug.print("a={}, b={}, c={}", .{ a, b, c }); + std.debug.print("a={}, b={}, c={}\n", .{ a, b, c }); } // In this silly example we've split the responsibility of making diff --git a/exercises/025_errors5.zig b/exercises/025_errors5.zig index 5119dcf..8739e4a 100644 --- a/exercises/025_errors5.zig +++ b/exercises/025_errors5.zig @@ -19,7 +19,7 @@ pub fn main() void { var b: u32 = addFive(14) catch 0; var c: u32 = addFive(4) catch 0; - std.debug.print("a={}, b={}, c={}", .{ a, b, c }); + std.debug.print("a={}, b={}, c={}\n", .{ a, b, c }); } fn addFive(n: u32) MyNumberError!u32 { diff --git a/exercises/036_enums2.zig b/exercises/036_enums2.zig index 0ddc4a5..e6337e9 100644 --- a/exercises/036_enums2.zig +++ b/exercises/036_enums2.zig @@ -53,6 +53,7 @@ pub fn main() void { \\ Green \\ Blue \\

+ \\ , .{ @enumToInt(Color.red), @enumToInt(Color.green), diff --git a/exercises/037_structs.zig b/exercises/037_structs.zig index 8082248..7571c05 100644 --- a/exercises/037_structs.zig +++ b/exercises/037_structs.zig @@ -52,7 +52,7 @@ pub fn main() void { // Ouch! Glorp takes a punch! glorp_the_wise.health -= 10; - std.debug.print("Your wizard has {} health and {} gold.", .{ + std.debug.print("Your wizard has {} health and {} gold.\n", .{ glorp_the_wise.health, glorp_the_wise.gold, }); diff --git a/exercises/043_pointers5.zig b/exercises/043_pointers5.zig index cb94189..ae80ecc 100644 --- a/exercises/043_pointers5.zig +++ b/exercises/043_pointers5.zig @@ -73,7 +73,7 @@ fn printCharacter(c: *Character) void { .warrior => "Warrior", }; - std.debug.print("{s} (G:{} H:{} XP:{})", .{ + std.debug.print("{s} (G:{} H:{} XP:{})\n", .{ class_name, c.gold, c.health,