1
0
Fork 0
mirror of https://github.com/ratfactor/ziglings synced 2024-05-25 16:56:03 +02:00

Change default elephant tail to null (#25)

It was confusing to see

    tail... = undefined

in the struct definition and then

    if (tail == null)

later in the exercise - it appears that the mismatch would be the issue
- but that's distracting from the real issue: making the value optional!

Changing the initial value to null is still correct, but won't distract.

The only worry now is that the user will remember the undefined
definition from the previous exercise and wonder if that has to be that
way...but you can't win them all!
This commit is contained in:
Dave Gauer 2021-02-28 11:00:20 -05:00
parent 7b165e8858
commit 88a6ae6d28
2 changed files with 4 additions and 7 deletions

View File

@ -9,7 +9,7 @@ const std = @import("std"); // single quotes
const Elephant = struct {
letter: u8,
tail: *Elephant = undefined, // <---- make this optional!
tail: *Elephant = null, // <---- make this optional!
visited: bool = false,
};

View File

@ -1,11 +1,8 @@
12c12
< tail: *Elephant = undefined, // <---- make this optional!
< tail: *Elephant = null, // <---- make this optional!
---
> tail: ?*Elephant = undefined,
39,42c39
< // We should stop once we encounter a tail that
< // does NOT point to another element. What can
< // we put here to make that happen?
> tail: ?*Elephant = null, // <---- make this optional!
42c42
< if (e.tail == null) ???;
---
> if (e.tail == null) break;