diff options
author | Chris Boesch <chrboesch@noreply.codeberg.org> | 2024-03-27 18:54:51 +0000 |
---|---|---|
committer | Chris Boesch <chrboesch@noreply.codeberg.org> | 2024-03-27 18:54:51 +0000 |
commit | 20919722ff6dc43a6b22ed58282acd1168a4ec6c (patch) | |
tree | 603488093500f13cac8e937e7c498b91f90980a8 /patches | |
parent | a3de4e3d0f8a96bcc8f6ddbd849b685f8e882d8e (diff) | |
parent | db21ab98559ef8f778e54dc6376cc5567f6d3534 (diff) |
Merge pull request 'added exercise/106_files.zig' (#66) from dizzyi_solo/exercises:main into main
Reviewed-on: https://codeberg.org/ziglings/exercises/pulls/66
Diffstat (limited to 'patches')
-rw-r--r-- | patches/patches/106_files.patch | 29 | ||||
-rw-r--r-- | patches/patches/107_files2.patch | 26 |
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 + }); + } |