diff options
Diffstat (limited to 'exercises/35_enums.zig')
-rw-r--r-- | exercises/35_enums.zig | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/exercises/35_enums.zig b/exercises/35_enums.zig index cf455a4..1825f52 100644 --- a/exercises/35_enums.zig +++ b/exercises/35_enums.zig @@ -6,7 +6,7 @@ // 1. Having to remember op codes by number is no good. // 2. We had to use "unreachable" because Zig had no way of knowing // how many valid op codes there were. -// +// // An "enum" is a Zig construct that lets you give names to numeric // values and store them in a set. They look a lot like error sets: // @@ -16,11 +16,11 @@ // // Let's use an enum in place of the numbers we were using in the // previous version! -// +// const std = @import("std"); // Please complete the enum! -const Ops = enum{ ??? }; +const Ops = enum { ??? }; pub fn main() void { const operations = [_]Ops{ @@ -29,16 +29,22 @@ pub fn main() void { Ops.inc, Ops.pow, Ops.dec, - Ops.dec + Ops.dec, }; var current_value: u32 = 0; for (operations) |op| { switch (op) { - Ops.inc => { current_value += 1; }, - Ops.dec => { current_value -= 1; }, - Ops.pow => { current_value *= current_value; }, + Ops.inc => { + current_value += 1; + }, + Ops.dec => { + current_value -= 1; + }, + Ops.pow => { + current_value *= current_value; + }, // No "else" needed! Why is that? } |