mirror of
https://github.com/ziglang/zig.git
synced 2024-11-30 09:02:32 +00:00
34 lines
838 B
Zig
34 lines
838 B
Zig
const Writer = struct {
|
|
pub fn printValue(self: *Writer, value: anytype) !void {
|
|
switch (@typeInfo(@TypeOf(value))) {
|
|
.Int => {
|
|
return self.writeInt(value);
|
|
},
|
|
.Float => {
|
|
return self.writeFloat(value);
|
|
},
|
|
.Pointer => {
|
|
return self.write(value);
|
|
},
|
|
else => {
|
|
@compileError("Unable to print type '" ++ @typeName(@TypeOf(value)) ++ "'");
|
|
},
|
|
}
|
|
}
|
|
|
|
fn write(self: *Writer, value: []const u8) !void {
|
|
_ = self;
|
|
_ = value;
|
|
}
|
|
fn writeInt(self: *Writer, value: anytype) !void {
|
|
_ = self;
|
|
_ = value;
|
|
}
|
|
fn writeFloat(self: *Writer, value: anytype) !void {
|
|
_ = self;
|
|
_ = value;
|
|
}
|
|
};
|
|
|
|
// syntax
|