تسميات
يمكن لكل من continue و break أن يأخذوا اختياريًا وسيط تسمية يُستخدم للخروج من الحلقات المتداخلة:
fn main() {
let s = [[5, 6, 7], [8, 9, 10], [21, 15, 32]];
let mut elements_searched = 0;
let target_value = 10;
'outer: for i in 0..=2 {
for j in 0..=2 {
elements_searched += 1;
if s[i][j] == target_value {
break 'outer;
}
}
}
print!("العناصر التي تم البحث عنها: {elements_searched}");
}
- لاحظ أن
loopهو البناء التكراري الوحيد الذي يعيد قيمة معقده (non-trivial value). هذا لأنه مضمون الدخول إليه مرة واحدة على الأقل (على عكس حلقاتwhileوfor(while و for)).