Continue
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 46 من 86.
بينما يخرج break من الحلقة تماماً، أحياناً تريد فقط تخطي التكرار الحالي والانتقال إلى التكرار التالي. تقوم جملة continue بذلك تماماً.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// المخرجات: 1, 2, 4, 5عندما تساوي number القيمة 3، فإن جملة continue تتخطى بقية ذلك التكرار. لا تتوقف الحلقة—بل تنتقل فقط إلى القيمة التالية. لاحظ أن الرقم 3 مفقود من المخرجات، ولكن الرقمين 4 و 5 لا يزالان يظهران.
هذا مفيد عندما تريد تصفية قيم معينة دون إيقاف الحلقة بأكملها. على سبيل المثال، طباعة الأرقام الزوجية فقط:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// المخرجات: 2, 4, 6الفرق الرئيسي: break يوقف الحلقة تماماً، بينما continue يتخطى فقط إلى التكرار التالي.
التحدي
سهلاكتب دالة sumExcludingMultiples تأخذ limit و skip وتعيد مجموع كل الأرقام من 1 إلى limit، باستثناء أي أرقام تكون من مضاعفات skip.
استخدم حلقة تكرار مع continue لتخطي مضاعفات الرقم المعطى أثناء تجميع مجموع كل القيم الأخرى.
المنطق:
- قم بالمرور عبر الأرقام من 1 إلى
limit - إذا كان الرقم الحالي من مضاعفات
skip، فاستخدمcontinueلتخطيه - بخلاف ذلك، أضف الرقم إلى المجموع الكلي
- أعد المجموع النهائي
المعاملات:
limit(Int): الحد الأعلى للنطاق (شامل)skip(Int): يجب تخطي الأرقام التي تقبل القسمة على هذه القيمة
القيمة المرجعة: مجموع كل الأرقام من 1 إلى limit التي ليست من مضاعفات skip (Int)
على سبيل المثال، إذا كان limit هو 10 و skip هو 3، فإن الدالة تتخطى 3 و 6 و 9، لذا فهي تعيد 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37.
ورقة مرجعية
تتخطى جملة continue التكرار الحالي للحلقة وتنتقل إلى التكرار التالي، دون الخروج من الحلقة تماماً.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// المخرجات: 1, 2, 4, 5عندما يتحقق الشرط، تتخطى continue الكود المتبقي في ذلك التكرار وتنتقل إلى القيمة التالية.
مثال على تصفية الأعداد الزوجية:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// المخرجات: 2, 4, 6الفرق الرئيسي: تخرج break من الحلقة تماماً، بينما تتخطى continue فقط إلى التكرار التالي.
جرّب بنفسك
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)