const expect = @import("std").testing.expect; // Like `return`, `break` accepts a value. This can be used to yield a value from a loop. // Loops in Zig also have an `else` branch, which is evaluated when the loop is not exited with a `break`. fn rangeHasNumber(begin: usize, end: usize, number: usize) bool { var i = begin; return while (i < end) : (i += 1) { if (i == number) { break true; } } else false; } test "while loop expression" { try expect(rangeHasNumber(0, 10, 3)); }