summaryrefslogtreecommitdiff
path: root/Loop labels.md
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-08-04 08:46:49 +0200
committerJasper Ras <jras@hostnet.nl>2025-08-04 08:46:49 +0200
commit00a52e3d631df0a7610f4f17a9bd6d60205239fd (patch)
tree99aac9c4c78c2ec693d7800a946fd6da7a0ea597 /Loop labels.md
parent931eb0894e7cd3717f1218f0eb06382b11734c13 (diff)
vault backup: 2025-08-04 08:46:49
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