diff options
Diffstat (limited to 'patches')
-rw-r--r-- | patches/patches/106_files.patch | 24 | ||||
-rw-r--r-- | patches/patches/107_files2.patch | 26 |
2 files changed, 36 insertions, 14 deletions
diff --git a/patches/patches/106_files.patch b/patches/patches/106_files.patch index 3fad939..ffe18ac 100644 --- a/patches/patches/106_files.patch +++ b/patches/patches/106_files.patch @@ -1,28 +1,24 @@ ---- exercises/106_files.zig -+++ answers/106_files.zig -@@ -35,9 +35,9 @@ pub fn main() !void { +--- exercises/106_files.zig 2024-03-27 16:36:44.593077000 +0800 ++++ answers/106_files.zig 2024-03-27 16:36:31.548155100 +0800 +@@ -35,7 +35,7 @@ // by doing nothing // // we want to catch error.PathAlreadyExists and do nothing -- ??? => { -- ???; -- }, -+ error.PathAlreadyExists => { -+ return; -+ }, +- ??? => {}, ++ error.PathAlreadyExists => {}, // if is any other unexpected error we just propagate it through else => return e, }; -@@ -46,7 +46,7 @@ pub fn main() !void { +@@ -44,7 +44,7 @@ // wait a minute // opening a directory might fail! // what should we do here? -- const output_dir: std.fs.Dir = cwd.openDir("output", .{}); -+ const output_dir: std.fs.Dir = try cwd.openDir("output", .{}); +- var output_dir: std.fs.Dir = cwd.openDir("output", .{}); ++ var output_dir: std.fs.Dir = try cwd.openDir("output", .{}); + defer output_dir.close(); // we try to open the file `zigling.txt`, - // and propagate the error up if there are any errors -@@ -56,7 +56,7 @@ pub fn main() !void { +@@ -55,7 +55,7 @@ // but here we are not yet done writing to the file // if only there are a keyword in zig that // allow you "defer" code execute to the end of scope... diff --git a/patches/patches/107_files2.patch b/patches/patches/107_files2.patch new file mode 100644 index 0000000..a275c70 --- /dev/null +++ b/patches/patches/107_files2.patch @@ -0,0 +1,26 @@ +--- exercises/107_files2.zig 2024-03-27 16:36:56.733062700 +0800 ++++ answers/107_files2.zig 2024-03-27 16:36:52.894505100 +0800 +@@ -33,7 +33,7 @@ + // initalize an array of u8 with all letter 'A'. + // we need to pick a size of the array, 64 seems like a good number. + // fix the initalization below +- var content = ['A']*64; ++ var content = [_]u8{'A'} ** 64; + // this should print out : `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA` + std.debug.print("{s}\n", .{content}); + +@@ -41,12 +41,12 @@ + // can you go here to find a way to read the content ? + // https://ziglang.org/documentation/master/std/#std.fs.File + // hint: you might find two answer that are both vaild in this case +- const byte_read = zig_read_the_file_or_i_will_fight_you(&content); ++ const byte_read = try file.read(&content); + + // 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 ? + std.debug.print("Successfully Read {} byte: {s}\n", .{ + byte_read, +- content, // change this line only ++ content[0..byte_read], // change this line only + }); + } |