aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/patches/106_files.patch29
-rw-r--r--patches/patches/107_files2.patch26
2 files changed, 55 insertions, 0 deletions
diff --git a/patches/patches/106_files.patch b/patches/patches/106_files.patch
new file mode 100644
index 0000000..7927cee
--- /dev/null
+++ b/patches/patches/106_files.patch
@@ -0,0 +1,29 @@
+--- exercises/106_files.zig 2024-03-27 16:52:05.660910200 +0800
++++ answers/106_files.zig 2024-03-27 16:52:09.649422200 +0800
+@@ -35,7 +35,7 @@
+ // by doing nothing
+ //
+ // we want to catch error.PathAlreadyExists and do nothing
+- ??? => {},
++ error.PathAlreadyExists => {},
+ // if is any other unexpected error we just propagate it through
+ else => return e,
+ };
+@@ -44,7 +44,7 @@
+ // wait a minute
+ // opening a directory might fail!
+ // what should we do here?
+- 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`,
+@@ -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...
+- file.close();
++ defer file.close();
+
+ // !you are not allow to switch this two lines to before file closing line!
+ const byte_written = try file.write("It's zigling time!");
diff --git a/patches/patches/107_files2.patch b/patches/patches/107_files2.patch
new file mode 100644
index 0000000..57e04e7
--- /dev/null
+++ b/patches/patches/107_files2.patch
@@ -0,0 +1,26 @@
+--- exercises/107_files2.zig 2024-03-27 16:51:56.199719600 +0800
++++ answers/107_files2.zig 2024-03-27 16:52:01.650935300 +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 {d} byte: {s}\n", .{
+ byte_read,
+- content, // change this line only
++ content[0..byte_read], // change this line only
+ });
+ }