summaryrefslogtreecommitdiff
path: root/Loop labels.md
diff options
context:
space:
mode:
Diffstat (limited to 'Loop labels.md')
-rw-r--r--Loop labels.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/Loop labels.md b/Loop labels.md
new file mode 100644
index 0000000..2110c71
--- /dev/null
+++ b/Loop labels.md
@@ -0,0 +1,27 @@
+[[Rust]]
+[[Returning values from loops]]
+
+In nested loops we can use labels to determine which one to break from:
+```rust
+fn main() {
+ let mut count = 0;
+ 'counting_up: loop {
+ println!("count = {count}");
+ let mut remaining = 10;
+
+ loop {
+ println!("remaining = {remaining}");
+ if remaining == 9 {
+ break;
+ }
+ if count == 2 {
+ break 'counting_up;
+ }
+ remaining -= 1;
+ }
+
+ count += 1;
+ }
+ println!("End count = {count}");
+}
+``` \ No newline at end of file