aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDave Gauer <dave@ratfactor.com>2021-02-28 11:00:20 -0500
committerDave Gauer <dave@ratfactor.com>2021-02-28 11:00:20 -0500
commit077a779f3d2fdfc03b2108c518cde2e6d4133ead (patch)
tree29c575a2a9e35aa2ad6535b2fd734ffa213989de
parent42e6ebd2fe6abd0e46b95baae332c869a2148205 (diff)
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!
-rw-r--r--exercises/46_optionals2.zig2
-rw-r--r--patches/patches/46_optionals2.patch9
2 files changed, 4 insertions, 7 deletions
diff --git a/exercises/46_optionals2.zig b/exercises/46_optionals2.zig
index 11f37aa..ffa5867 100644
--- a/exercises/46_optionals2.zig
+++ b/exercises/46_optionals2.zig
@@ -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,
};
diff --git a/patches/patches/46_optionals2.patch b/patches/patches/46_optionals2.patch
index 18284da..5becede 100644
--- a/patches/patches/46_optionals2.patch
+++ b/patches/patches/46_optionals2.patch
@@ -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;