You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ziglings/patches/patches/106_files.patch

32 lines
2.4 KiB
Diff

--- a/exercises/106_files.zig
+++ b/exercises/106_files.zig
@@ -35,8 +35,8 @@ pub fn main() !void {
// by doing nothing
//
// we want to catch error.PathAlreadyExists and do nothing
- ??? => {
- ???;
+ error.PathAlreadyExists => {
+ return;
},
// if is any other unexpected error we just propagate it through
else => return e,
@@ -46,7 +46,7 @@ pub fn main() !void {
// 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", .{});
// 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 {
// 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!");