From e9cf13bce8d3bfc59542f0b59764a6c46756543a Mon Sep 17 00:00:00 2001 From: Dave Gauer Date: Thu, 8 Apr 2021 18:42:19 -0400 Subject: added 059 --- build.zig | 4 ++++ exercises/059_integers.zig | 28 ++++++++++++++++++++++++++++ patches/patches/059_integers.patch | 8 ++++++++ 3 files changed, 40 insertions(+) create mode 100644 exercises/059_integers.zig create mode 100644 patches/patches/059_integers.patch diff --git a/build.zig b/build.zig index 0739554..a0a73d7 100644 --- a/build.zig +++ b/build.zig @@ -302,6 +302,10 @@ const exercises = [_]Exercise{ .output = "Archer's Point--2->Bridge--1->Dogwood Grove--3->Cottage--2->East Pond--1->Fox Pond", .hint = "This is the biggest program we've seen yet. But you can do it!" }, + .{ + .main_file = "059_integers.zig", + .output = "Zig is cool.", + }, }; /// Check the zig version to make sure it can compile the examples properly. diff --git a/exercises/059_integers.zig b/exercises/059_integers.zig new file mode 100644 index 0000000..e72fa2f --- /dev/null +++ b/exercises/059_integers.zig @@ -0,0 +1,28 @@ +// +// Zig lets you express integer literals in several convenient +// formats. These are all the same value: +// +// const a1: u8 = 65; // decimal +// const a2: u8 = 0x41; // hexadecimal +// const a3: u8 = 0o101; // octal +// const a4: u8 = 0b1000001; // binary +// const a5: u8 = 'A'; // UTF-8 code point literal +// +// You can also place underscores in numbers to aid readability: +// +// const t1: u32 = 14_689_520 // Ford Model T sales 1909-1927 +// const t2: u32 = 0xE0_24_F0 // same, in hex pairs +// +// Please fix the message: + +const print = @import("std").debug.print; + +pub fn main() void { + var zig = [_]u8 { + 0o131, // octal + 0b1101000, // binary + 0x66, // hex + }; + + print("{s} is cool.\n", .{zig}); +} diff --git a/patches/patches/059_integers.patch b/patches/patches/059_integers.patch new file mode 100644 index 0000000..50a89a0 --- /dev/null +++ b/patches/patches/059_integers.patch @@ -0,0 +1,8 @@ +22,24c22,24 +< 0o131, // octal +< 0b1101000, // binary +< 0x66, // hex +--- +> 0o132, // octal +> 0b1101001, // binary +> 0x67, // hex -- cgit v1.2.3-ZIG