poc_printValue_fn.zig (838B) - Raw
1 const Writer = struct { 2 pub fn printValue(self: *Writer, value: anytype) !void { 3 switch (@typeInfo(@TypeOf(value))) { 4 .int => { 5 return self.writeInt(value); 6 }, 7 .float => { 8 return self.writeFloat(value); 9 }, 10 .pointer => { 11 return self.write(value); 12 }, 13 else => { 14 @compileError("Unable to print type '" ++ @typeName(@TypeOf(value)) ++ "'"); 15 }, 16 } 17 } 18 19 fn write(self: *Writer, value: []const u8) !void { 20 _ = self; 21 _ = value; 22 } 23 fn writeInt(self: *Writer, value: anytype) !void { 24 _ = self; 25 _ = value; 26 } 27 fn writeFloat(self: *Writer, value: anytype) !void { 28 _ = self; 29 _ = value; 30 } 31 }; 32 33 // syntax