تسميات
يمكن لكل من 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)).