diff options
| author | Nuno Mendes <98030270+nm-remarkable@users.noreply.github.com> | 2024-09-16 18:38:43 +0200 |
|---|---|---|
| committer | Nuno Mendes <98030270+nm-remarkable@users.noreply.github.com> | 2024-09-16 18:39:54 +0200 |
| commit | db569a1478d11c1014ce9569ad65fc5cea9a09c9 (patch) | |
| tree | 47b894997211242954d20e545dc7cf3fddffbe68 /exercises/108_labeled_switch.zig | |
| parent | 798bb403963f15028db7d0325d93ab1af6dde684 (diff) | |
update labeled switch to also have a break statement
Diffstat (limited to 'exercises/108_labeled_switch.zig')
| -rw-r--r-- | exercises/108_labeled_switch.zig | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/exercises/108_labeled_switch.zig b/exercises/108_labeled_switch.zig index 623e359..dfc061a 100644 --- a/exercises/108_labeled_switch.zig +++ b/exercises/108_labeled_switch.zig @@ -6,14 +6,14 @@ // foo: switch (state) { // 1 => continue :foo 2, // 2 => continue :foo 3, -// 3 => return, +// 3 => break :foo, // 4 => {}, // ... // } // const std = @import("std"); -const PullRequestState = enum { +const PullRequestState = enum(u8) { Draft, InReview, Approved, @@ -22,13 +22,17 @@ const PullRequestState = enum { }; pub fn main() void { - // Something is wrong, it seems your Pull Request can never be merged - // try to fix it! + // Oh no, your pull request keeps being rejected, + // how would you fix it? pr: switch (@as(PullRequestState, PullRequestState.Draft)) { PullRequestState.Draft => continue :pr PullRequestState.InReview, PullRequestState.InReview => continue :pr PullRequestState.Rejected, PullRequestState.Approved => continue :pr PullRequestState.Merged, - PullRequestState.Rejected => std.debug.print("The pull request has been rejected", .{}), - PullRequestState.Merged => std.debug.print("The pull request has been merged", .{}), + PullRequestState.Rejected => { + std.debug.print("The pull request has been rejected", .{}); + return; + }, + PullRequestState.Merged => break, // Would you know where to break to? } + std.debug.print("The pull request has been merged", .{}); } |
