I/O improvements

This commit is contained in:
Chris Boesch
2026-01-09 22:56:23 +01:00
parent 6972af2178
commit 1e552a1dd6
8 changed files with 26 additions and 28 deletions

View File

@@ -5,9 +5,6 @@
//
const std = @import("std");
// Instance for input/output operations; we will learn more about this later.
const io = std.Options.debug_io;
// Take note that this main() definition now returns "!void" rather
// than just "void". Since there's no specific error type, this means
// that Zig will infer the error type. This is appropriate in the case
@@ -17,7 +14,10 @@ const io = std.Options.debug_io;
// You can find more information at:
// https://ziglang.org/documentation/master/#Inferred-Error-Sets
//
pub fn main() !void {
pub fn main(init: std.process.Init) !void {
// Instance for input/output operations; we will learn more about this later.
const io = init.io;
// We get a Writer for Standard Out...
var stdout_writer = std.Io.File.stdout().writer(io, &.{});
// ...and extract its interface so we can print() to it.

View File

@@ -6,11 +6,11 @@
// my_num=42
//
const std = @import("std");
const io = std.Options.debug_io;
const NumError = error{IllegalNumber};
pub fn main() void {
pub fn main(init: std.process.Init) !void {
const io = init.io;
var stdout_writer = std.Io.File.stdout().writer(io, &.{});
const stdout = &stdout_writer.interface;

View File

@@ -24,9 +24,11 @@
// performance. We'll learn about buffered I/O in a later exercise.
//
const std = @import("std");
const io = std.Options.debug_io;
pub fn main() !void {
pub fn main(init: std.process.Init) !void {
// default I/O implementation
const io = init.io;
// first we get the current working directory
const cwd: std.Io.Dir = std.Io.Dir.cwd();

View File

@@ -21,9 +21,10 @@
// performance. We'll learn about buffered I/O in a later exercise.
const std = @import("std");
const io = std.Options.debug_io;
pub fn main() !void {
pub fn main(init: std.process.Init) !void {
const io = init.io;
// Get the current working directory
const cwd = std.Io.Dir.cwd();