Fix patches for 106 and 107

This commit is contained in:
Chris Boesch 2024-05-05 01:16:23 +02:00
parent e182d1f19d
commit 165cc199ca
No known key found for this signature in database
GPG key ID: 8712DF4D3E364668
3 changed files with 15 additions and 15 deletions

View file

@ -1128,7 +1128,7 @@ const exercises = [_]Exercise{
.main_file = "107_files2.zig", .main_file = "107_files2.zig",
.output = .output =
\\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\\Successfully Read 18 byte: It's zigling time! \\Successfully Read 18 bytes: It's zigling time!
, ,
}, },
.{ .{

View file

@ -1,5 +1,5 @@
--- exercises/106_files.zig 2024-03-27 16:52:05.660910200 +0800 --- exercises/106_files.zig 2024-05-05 00:48:25.808548611 +0200
+++ answers/106_files.zig 2024-03-27 16:52:09.649422200 +0800 +++ answers/106_files.zig 2024-05-05 01:00:40.742969819 +0200
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
// by doing nothing // by doing nothing
// //
@ -20,10 +20,10 @@
// we try to open the file `zigling.txt`, // we try to open the file `zigling.txt`,
@@ -55,7 +55,7 @@ @@ -55,7 +55,7 @@
// but here we are not yet done writing to the file // but here we are not yet done writing to the file
// if only there are a keyword in zig that // if only there were a keyword in zig that
// allow you "defer" code execute to the end of scope... // allows you "defer" code execute to the end of scope...
- file.close(); - file.close();
+ defer file.close(); + defer file.close();
// !you are not allow to switch this two lines to before file closing line! // !you are not allowed to switch these two lines above the file closing line!
const byte_written = try file.write("It's zigling time!"); const byte_written = try file.write("It's zigling time!");

View file

@ -1,8 +1,8 @@
--- exercises/107_files2.zig 2024-03-27 16:51:56.199719600 +0800 --- exercises/107_files2.zig 2024-05-05 00:48:25.808548611 +0200
+++ answers/107_files2.zig 2024-03-27 16:52:01.650935300 +0800 +++ answers/107_files2.zig 2024-05-05 01:14:03.866062288 +0200
@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
// initalize an array of u8 with all letter 'A'. // initalize an array of u8 with all letter 'A'.
// we need to pick a size of the array, 64 seems like a good number. // we need to pick the size of the array, 64 seems like a good number.
// fix the initalization below // fix the initalization below
- var content = ['A']*64; - var content = ['A']*64;
+ var content = [_]u8{'A'} ** 64; + var content = [_]u8{'A'} ** 64;
@ -12,15 +12,15 @@
@@ -41,12 +41,12 @@ @@ -41,12 +41,12 @@
// can you go here to find a way to read the content ? // can you go here to find a way to read the content ?
// https://ziglang.org/documentation/master/std/#std.fs.File // https://ziglang.org/documentation/master/std/#std.fs.File
// hint: you might find two answer that are both vaild in this case // hint: you might find two answers that are both vaild in this case
- const byte_read = zig_read_the_file_or_i_will_fight_you(&content); - const bytes_read = zig_read_the_file_or_i_will_fight_you(&content);
+ const byte_read = try file.read(&content); + const bytes_read = try file.read(&content);
// Woah, too screamy, I know you're excited for zigling time but tone it down a bit // Woah, too screamy, I know you're excited for zigling time but tone it down a bit
// Can you print only what we read from the file ? // Can you print only what we read from the file ?
std.debug.print("Successfully Read {d} byte: {s}\n", .{ std.debug.print("Successfully Read {d} bytes: {s}\n", .{
byte_read, bytes_read,
- content, // change this line only - content, // change this line only
+ content[0..byte_read], // change this line only + content[0..bytes_read], // change this line only
}); });
} }