|
|
@ -35,8 +35,8 @@ pub fn main() !void {
|
|
|
|
// by doing nothing
|
|
|
|
// by doing nothing
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// we want to catch error.PathAlreadyExists and do nothing
|
|
|
|
// we want to catch error.PathAlreadyExists and do nothing
|
|
|
|
error.PathAlreadyExists => {
|
|
|
|
??? => {
|
|
|
|
return;
|
|
|
|
???;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// if is any other unexpected error we just propagate it through
|
|
|
|
// if is any other unexpected error we just propagate it through
|
|
|
|
else => return e,
|
|
|
|
else => return e,
|
|
|
@ -46,7 +46,7 @@ pub fn main() !void {
|
|
|
|
// wait a minute
|
|
|
|
// wait a minute
|
|
|
|
// opening a directory might fail!
|
|
|
|
// opening a directory might fail!
|
|
|
|
// what should we do here?
|
|
|
|
// what should we do here?
|
|
|
|
const output_dir: std.fs.Dir = try cwd.openDir("output", .{});
|
|
|
|
const output_dir: std.fs.Dir = cwd.openDir("output", .{});
|
|
|
|
|
|
|
|
|
|
|
|
// we try to open the file `zigling.txt`,
|
|
|
|
// we try to open the file `zigling.txt`,
|
|
|
|
// and propagate the error up if there are any errors
|
|
|
|
// and propagate the error up if there are any errors
|
|
|
@ -56,11 +56,11 @@ pub fn main() !void {
|
|
|
|
// but here we are not yet done writing to the file
|
|
|
|
// but here we are not yet done writing to the file
|
|
|
|
// if only there are a keyword in zig that
|
|
|
|
// if only there are a keyword in zig that
|
|
|
|
// allow you "defer" code execute to the end of scope...
|
|
|
|
// allow you "defer" code execute to the end of scope...
|
|
|
|
defer file.close();
|
|
|
|
file.close();
|
|
|
|
|
|
|
|
|
|
|
|
// !you are not allow to switch this two lines to before file closing line!
|
|
|
|
// !you are not allow to switch this two lines to before file closing line!
|
|
|
|
const byte_written = try file.write("It's zigling time!");
|
|
|
|
const byte_written = try file.write("It's zigling time!");
|
|
|
|
std.debug.print("succefully wrote {} bytes.\n", .{byte_written});
|
|
|
|
std.debug.print("Succefully wrote {} bytes.\n", .{byte_written});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// to check if you actually write to the file, you can either,
|
|
|
|
// to check if you actually write to the file, you can either,
|
|
|
|
// 1. open the file on your text editor, or
|
|
|
|
// 1. open the file on your text editor, or
|
|
|
|