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