2021-01-10 11:46:42 -05:00
|
|
|
//
|
2021-02-07 11:06:51 -05:00
|
|
|
// You can force a loop to exit immediately with a "break" statement:
|
2021-01-10 11:46:42 -05:00
|
|
|
//
|
2021-02-15 16:55:19 -05:00
|
|
|
// while (condition) : (continue expression) {
|
2021-02-07 11:06:51 -05:00
|
|
|
//
|
2021-02-15 16:55:19 -05:00
|
|
|
// if (other condition) break;
|
2021-02-07 11:06:51 -05:00
|
|
|
//
|
2021-01-10 11:46:42 -05:00
|
|
|
// }
|
|
|
|
//
|
2021-02-07 11:06:51 -05:00
|
|
|
// Continue expressions do NOT execute when a while loop stops
|
|
|
|
// because of a break!
|
|
|
|
//
|
2021-01-10 11:46:42 -05:00
|
|
|
const std = @import("std");
|
|
|
|
|
|
|
|
pub fn main() void {
|
|
|
|
var n: u32 = 1;
|
|
|
|
|
2021-05-09 13:15:53 -04:00
|
|
|
// Oh dear! This while loop will go forever?!
|
2021-02-07 11:06:51 -05:00
|
|
|
// Please fix this so the print statement below gives the desired output.
|
2021-02-15 16:55:44 -05:00
|
|
|
while (true) : (n += 1) {
|
2024-01-10 02:52:58 -05:00
|
|
|
if (n == 4) break;
|
2021-01-10 11:46:42 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// Result: we want n=4
|
|
|
|
std.debug.print("n={}\n", .{n});
|
|
|
|
}
|