rust / beginner
Snippet
Schleifen-Labels und vorzeitiges Beenden
Rust erlaubt es dir, Schleifen mit einem Lifetime-Spezifizierer wie 'outer zu benennen. Dies ermöglicht es dir, aus verschachtelten Schleifen von der äußeren Schleife auszubrechen. break ohne Label beendet nur die innerste Schleife, während break 'outer die benannte äußere Schleife beendet.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
let mut count = 0;'outer: loop {let mut inner = 0;loop {if inner == 2 {break;}inner += 1;}count += 1;if count == 3 {break 'outer;}}println!("Count: {}", count);
Erklärung
1
'outer: loop {
Definiert eine benannte Schleife namens 'outer'
2
let mut inner = 0; loop {
Startet eine innere unbenannte Endlosschleife
3
if inner == 2 { break; }
Beendet innere Schleife wenn inner 2 erreicht
4
if count == 3 { break 'outer; }
Bricht aus der benannten äußeren Schleife aus
5
println!("Count: {}", count);
Finaler Count ist 3 nach dem Breaken der äußeren Schleife