mirror of
https://codeberg.org/andyscott/ziglings.git
synced 2024-11-09 11:40:46 -05:00
Added type reflection to 066
This commit is contained in:
parent
e23eba236a
commit
dd06f3c95f
2 changed files with 13 additions and 3 deletions
|
@ -333,7 +333,7 @@ const exercises = [_]Exercise{
|
||||||
},
|
},
|
||||||
.{
|
.{
|
||||||
.main_file = "066_comptime.zig",
|
.main_file = "066_comptime.zig",
|
||||||
.output = "const_int=12345, const_float=987.654, var_int=54321, var_float=456.789",
|
.output = "Immutable: 12345, 987.654; Mutable: 54321, 456.789; Types: comptime_int, comptime_float, u32, f32",
|
||||||
.hint = "It may help to read this one out loud to your favorite stuffed animal until it sinks in completely."
|
.hint = "It may help to read this one out loud to your favorite stuffed animal until it sinks in completely."
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,7 +47,7 @@ pub fn main() void {
|
||||||
const const_int = 12345;
|
const const_int = 12345;
|
||||||
const const_float = 987.654;
|
const const_float = 987.654;
|
||||||
|
|
||||||
print("const_int={}, const_float={d:.3}, ", .{const_int, const_float});
|
print("Immutable: {}, {d:.3}; ", .{const_int, const_float});
|
||||||
|
|
||||||
// But something changes when we assign the exact same values
|
// But something changes when we assign the exact same values
|
||||||
// to identifiers mutably with "var".
|
// to identifiers mutably with "var".
|
||||||
|
@ -70,5 +70,15 @@ pub fn main() void {
|
||||||
var_int = 54321;
|
var_int = 54321;
|
||||||
var_float = 456.789;
|
var_float = 456.789;
|
||||||
|
|
||||||
print("var_int={}, var_float={d:.3}\n", .{var_int, var_float});
|
print("Mutable: {}, {d:.3}; ", .{var_int, var_float});
|
||||||
|
|
||||||
|
// Bonus: Now that we're familiar with Zig's builtins, we can
|
||||||
|
// also inspect the types to see what they are, no guessing
|
||||||
|
// needed!
|
||||||
|
print("Types: {}, {}, {}, {}\n", .{
|
||||||
|
@TypeOf(const_int),
|
||||||
|
@TypeOf(const_float),
|
||||||
|
@TypeOf(var_int),
|
||||||
|
@TypeOf(var_float),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue