0Pricing
Swift Academy · درس

حلقات for-in مع النطاقات

كرّر باستخدام for-in مع النطاقات الصحيحة وعوامل النطاق المغلق ونصف المفتوح

حلقات for-in مع النطاقات درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.

مرحبًا

تتيح لك الحلقات تكرار العمل دون تكرار الشيفرة. وتُعد حلقة `for-in` أداة التكرار الأكثر تنوعًا في Swift، إذ تعمل مع النطاقات والمجموعات وأي تسلسل.

النطاق المغلق: a...b

يتضمن معامل النطاق المغلق `...` كلا الحدّين: ```swift for i in 1...5 { print(i) // 1, 2, 3, 4, 5 } ``` وهذا هو النطاق الأكثر شيوعًا عند استخدامه مع `for-in`.

النطاق نصف المفتوح: a..<b

يستبعد النطاق نصف المفتوح `..<` الحد العلوي، وهو مثالي للفهرسة التي تبدأ من الصفر: ```swift for i in 0..<5 { print(i) // 0, 1, 2, 3, 4 } ``` وهو مفيد عند التكرار عبر فهارس المصفوفة: `0..

النطاقات أحادية الطرف

تمتد النطاقات أحادية الطرف إلى أحد الطرفين: ```swift let nums = [10, 20, 30, 40, 50] for n in nums[2...] { print(n) } // 30, 40, 50 for n in nums[..<3] { print(n) } // 10, 20, 30 ``` وهي مفيدة جدًا عند اقتطاع جزء من مجموعة بدءًا من موضع معين أو انتهاءً عنده.

stride(from:to:by:)

استخدم `stride` عندما تحتاج إلى حجم خطوة مخصص: ```swift for i in stride(from: 0, to: 10, by: 2) { print(i) // 0, 2, 4, 6, 8 } for i in stride(from: 10, through: 0, by: -3) { print(i) // 10, 7, 4, 1 } ```

تجاهل متغير الحلقة

استخدم `_` عندما لا تحتاج إلى قيمة التكرار: ```swift var sum = 0 for _ in 1...10 { sum += 1 } print(sum) // 10 ``` وهذا يوضح للقرّاء أن المهم هو عدد التكرارات، لا الفهرس.

تكرار المحارف في سلسلة نصية

تتوافق السلاسل النصية مع `Sequence`، لذا يمكنك التكرار عبر المحارف مباشرةً: ```swift for char in "Swift" { print(char) // S, w, i, f, t } ``` كل `char` من النوع `Character`.

النطاقات كقيم

النطاقات قيم Swift من الدرجة الأولى، ويمكن تخزينها: ```swift let valid: ClosedRange = 1...100 if valid.contains(42) { print("In range") } ``` وهي مفيدة للتحقق ومطابقة حالات switch.

حلقات for-in متداخلة

يمكن تداخل الحلقات لتنفيذ التكرار متعدد الأبعاد: ```swift for row in 1...3 { for col in 1...3 { print("(\(row),\(col))", terminator: " ") } print() } ``` انتبه إلى التعقيد O(n²) عند التداخل العميق للحلقات.

العد التنازلي باستخدام Reversed

اعكس نطاقًا باستخدام `.reversed()`: ```swift for i in (1...5).reversed() { print(i) // 5, 4, 3, 2, 1 } ``` يمكنك بديلًا عن ذلك استخدام `stride(from:through:by:)` مع خطوة سالبة.

اختبار سريع

أي معامل نطاق **يستبعد** الحد العلوي؟

مراجعة

أهم النقاط: • `a...b` — نطاق مغلق، يتضمن b • `a..

الأسئلة الشائعة

هل درس «حلقات for-in مع النطاقات» مجاني؟

نعم — نص درس «حلقات for-in مع النطاقات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.

ماذا ستتعلم في «حلقات for-in مع النطاقات»؟

كرّر باستخدام for-in مع النطاقات الصحيحة وعوامل النطاق المغلق ونصف المفتوح تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «حلقات for-in مع النطاقات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. حلقات for-in مع النطاقات
  2. حلقات while وrepeat-while
  3. تكرار عناصر المجموعات باستخدام for-in
  4. break وcontinue والعبارات ذات التسميات
← العودة إلى Swift Academy