aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/patches/106_files.patch24
-rw-r--r--patches/patches/107_files2.patch26
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
+ });
+ }