diff --git a/build.zig b/build.zig index c3b2a43..1099135 100644 --- a/build.zig +++ b/build.zig @@ -1147,7 +1147,7 @@ const exercises = [_]Exercise{ }, .{ .main_file = "095_for3.zig", - .output = "1 2 4 7 8 11 13 14 16 17 19", + .output = "1 2 4 7 8 11 13 14 16 17 19\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15", }, .{ .main_file = "096_memory_allocation.zig", diff --git a/exercises/095_for3.zig b/exercises/095_for3.zig index 0d4f42f..77a1b56 100644 --- a/exercises/095_for3.zig +++ b/exercises/095_for3.zig @@ -28,6 +28,8 @@ // 0..10 is a range from 0 to 9 // 1..4 is a range from 1 to 3 // +// Crucially, the end value is EXCLUSIVE. +// // At the moment, ranges in loops are only supported in 'for' loops. // // Perhaps you recall Exercise 13? We were printing a numeric @@ -64,6 +66,12 @@ pub fn main() void { } std.debug.print("\n", .{}); + + // Let's also print every number from 1 through 15 + for (???) |n| { + std.debug.print("{} ", .{n}); + } + std.debug.print("\n", .{}); } // // That's a bit nicer, right? diff --git a/patches/patches/095_for3.patch b/patches/patches/095_for3.patch index ca9e3ad..a158b31 100644 --- a/patches/patches/095_for3.patch +++ b/patches/patches/095_for3.patch @@ -1,6 +1,6 @@ ---- exercises/095_for3.zig 2023-10-03 22:15:22.125574535 +0200 -+++ answers/095_for3.zig 2023-10-05 20:04:07.272770937 +0200 -@@ -54,7 +54,7 @@ +--- exercises/095_for3.zig 2026-02-27 19:33:59 ++++ answers/095_for3.zig 2026-02-27 19:33:38 +@@ -56,7 +56,7 @@ // I want to print every number between 1 and 20 that is NOT // divisible by 3 or 5. @@ -9,3 +9,12 @@ // The '%' symbol is the "modulo" operator and it // returns the remainder after division. +@@ -68,7 +68,7 @@ + std.debug.print("\n", .{}); + + // Let's also print every number from 1 through 15 +- for (???) |n| { ++ for (1..16) |n| { + std.debug.print("{} ", .{n}); + } + std.debug.print("\n", .{});