ziglings/exercises/031_switch2.zig

44 lines
1.1 KiB
Zig
Raw Normal View History

2021-01-31 17:48:34 -05:00
//
// What's really nice is that you can use a switch statement as an
// expression to return a value.
//
2023-06-22 05:41:41 -04:00
// const a = switch (x) {
2021-01-31 17:48:34 -05:00
// 1 => 9,
// 2 => 16,
// 3 => 7,
// ...
// }
//
const std = @import("std");
pub fn main() void {
const lang_chars = [_]u8{ 26, 9, 7, 42 };
for (lang_chars) |c| {
const real_char: u8 = switch (c) {
2021-02-15 16:55:44 -05:00
1 => 'A',
2 => 'B',
3 => 'C',
4 => 'D',
5 => 'E',
6 => 'F',
7 => 'G',
8 => 'H',
9 => 'I',
2021-01-31 17:48:34 -05:00
10 => 'J',
// ...
25 => 'Y',
26 => 'Z',
// As in the last exercise, please add the 'else' clause
// and this time, have it return an exclamation mark '!'.
2024-01-10 02:52:58 -05:00
else => '!',
2021-01-31 17:48:34 -05:00
};
std.debug.print("{c}", .{real_char});
// Note: "{c}" forces print() to display the value as a character.
// Can you guess what happens if you remove the "c"? Try it!
}
std.debug.print("\n", .{});
}