diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be8c511..21b98ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ Ziglings is intended for programmers of all experience levels. No specific language knowledge is expected. Anyone who can install the current Zig snapshot, setup a copy of Ziglings, and knows common language building blocks (if/then/else, loops, and -functions) is ready or Ziglings. +functions) is ready for Ziglings. Ziglings is intended to be completely self-contained. If you can't solve an exercise from the information you've gleaned so diff --git a/README.md b/README.md index 5a82e26..5dd88e4 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Verify the installation and build number of `zig` like so: ```bash $ zig version -0.10.0-dev.3978+xxxxxxxxx +0.11.0-dev.1302+xxxxxxxxx ``` Clone this repository with Git: @@ -61,8 +61,8 @@ $ zig build The Zig language is under very active development. In order to be current, Ziglings tracks **development** builds of the Zig compiler rather than -versioned **release** builds. The last stable release was `0.9.1`, but Ziglings -needs a dev build with pre-release version "0.10.0" and a build number at least +versioned **release** builds. The last stable release was `0.10.0`, but Ziglings +needs a dev build with pre-release version "0.11.0" and a build number at least as high as that shown in the example version check above. It is likely that you'll download a build which is _greater_ than the minimum. @@ -81,6 +81,8 @@ about input: ### Version Changes +Version-0.11.0-dev.1302+d813cef42 +* *2023-01-14* zig 0.11.0-dev.1302 - changes in `@addWithOverflow` in builtin functions * *2022-09-09* zig 0.10.0-dev.3978 - change in `NativeTargetInfo.detect` in build * *2022-09-06* zig 0.10.0-dev.3880 - Ex 074 correctly fails again: comptime array len * *2022-08-29* zig 0.10.0-dev.3685 - `@typeName()` output change, stage1 req. for async @@ -160,6 +162,7 @@ Core Language * [x] Quoted identifiers @"" * [x] Anonymous structs/tuples/lists * [ ] Async <--- IN PROGRESS! +* [ ] Interfaces ## Contributing diff --git a/exercises/042_pointers4.zig b/exercises/042_pointers4.zig index 359a2f1..1f6db70 100644 --- a/exercises/042_pointers4.zig +++ b/exercises/042_pointers4.zig @@ -17,7 +17,7 @@ pub fn main() void { var num: u8 = 1; var more_nums = [_]u8{ 1, 1, 1, 1 }; - // Let's pass a reference to num to our function and print it: + // Let's pass the num reference to our function and print it: makeFive(&num); std.debug.print("num: {}, ", .{num}); diff --git a/exercises/064_builtins.zig b/exercises/064_builtins.zig index 1a0d263..85d1aa7 100644 --- a/exercises/064_builtins.zig +++ b/exercises/064_builtins.zig @@ -38,14 +38,12 @@ pub fn main() void { // Let's try it with a tiny 4-bit integer size to make it clear: const a: u4 = 0b1101; const b: u4 = 0b0101; - var my_result: u4 = undefined; - var overflowed: bool = undefined; - overflowed = @addWithOverflow(u4, a, b, &my_result); + const my_result = @addWithOverflow(a, b); // Check out our fancy formatting! b:0>4 means, "print // as a binary number, zero-pad right-aligned four digits." // The print() below will produce: "1101 + 0101 = 0010 (true)". - print("{b:0>4} + {b:0>4} = {b:0>4} ({})", .{ a, b, my_result, overflowed }); + print("{b:0>4} + {b:0>4} = {b:0>4} ({s})", .{ a, b, my_result[0], if (my_result[1] == 1) "true" else "false" }); // Let's make sense of this answer. The value of 'b' in decimal is 5. // Let's add 5 to 'a' but go one by one and see where it overflows: diff --git a/exercises/082_anonymous_structs3.zig b/exercises/082_anonymous_structs3.zig index 8344321..e5c6839 100644 --- a/exercises/082_anonymous_structs3.zig +++ b/exercises/082_anonymous_structs3.zig @@ -4,8 +4,8 @@ // // .{ // false, -// @as(u32, 15); -// @as(i64, 67.12); +// @as(u32, 15), +// @as(f64, 67.12) // } // // We call these "tuples", which is a term used by many