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