mirror of
https://codeberg.org/andyscott/ziglings.git
synced 2024-12-22 14:03:10 -05:00
ex51 explanation improvements
This commit is contained in:
parent
5dc7ac219b
commit
a75c9f5e07
1 changed files with 12 additions and 4 deletions
|
@ -85,9 +85,9 @@ pub fn main() void {
|
||||||
|
|
||||||
// Now let's circle back around to that "std" struct we imported
|
// Now let's circle back around to that "std" struct we imported
|
||||||
// at the top. Since it's just a regular Zig value once it's
|
// at the top. Since it's just a regular Zig value once it's
|
||||||
// imported, we can also assign new names for its fields. The
|
// imported, we can also assign new names for its fields and
|
||||||
// "debug" field refers to another struct. And "print" is a public
|
// declarations. "debug" refers to another struct and "print" is a
|
||||||
// function namespaced within THAT struct.
|
// public function namespaced within THAT struct.
|
||||||
//
|
//
|
||||||
// Let's assign the std.debug.print function to a const named
|
// Let's assign the std.debug.print function to a const named
|
||||||
// "print" so that we can use this new name later!
|
// "print" so that we can use this new name later!
|
||||||
|
@ -131,13 +131,21 @@ pub fn main() void {
|
||||||
// "glorp_access3" is interesting. It's also a pointer, but it's a
|
// "glorp_access3" is interesting. It's also a pointer, but it's a
|
||||||
// const. Won't that disallow changing the gold value? No! As you
|
// const. Won't that disallow changing the gold value? No! As you
|
||||||
// may recall from our earlier pointer experiments, a constant
|
// may recall from our earlier pointer experiments, a constant
|
||||||
// pointer can't change what it's pointing AT, but the value at
|
// pointer can't change what it's POINTING AT, but the value at
|
||||||
// the address it points to is still mutable! So we CAN change it.
|
// the address it points to is still mutable! So we CAN change it.
|
||||||
|
|
||||||
const glorp_access3: *Character = &glorp;
|
const glorp_access3: *Character = &glorp;
|
||||||
glorp_access3.gold = 333;
|
glorp_access3.gold = 333;
|
||||||
print("3:{}!. ", .{glorp.gold == glorp_access3.gold});
|
print("3:{}!. ", .{glorp.gold == glorp_access3.gold});
|
||||||
|
|
||||||
|
// NOTE:
|
||||||
|
//
|
||||||
|
// If we tried to do this with a *const Character pointer,
|
||||||
|
// that would NOT work because that makes the data we would
|
||||||
|
// get a compiler error because the VALUE becomes immutable!
|
||||||
|
//
|
||||||
|
// Moving along...
|
||||||
|
//
|
||||||
// Passing arguments to functions is pretty much exactly like
|
// Passing arguments to functions is pretty much exactly like
|
||||||
// making an assignment to a const (since Zig enforces that ALL
|
// making an assignment to a const (since Zig enforces that ALL
|
||||||
// function parameters are const).
|
// function parameters are const).
|
||||||
|
|
Loading…
Reference in a new issue