0Pricing
Swift Academy · درس

تكرار عناصر المجموعات باستخدام for-in

كرّر على المصفوفات والقواميس والمجموعات باستخدام enumerated وzip

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

مرحبًا

تعمل حلقة `for-in` مع أي `Sequence`، بما في ذلك المصفوفات والقواميس والمجموعات والسلاسل النصية وأنواعك المخصصة. لنتعرّف إلى أكثر الأنماط فائدة.

التكرار عبر مصفوفة

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` تُسنَد كل قيمة إلى `fruit` خلال تكرار واحد.

enumerated() — الفهرس والقيمة

عندما تحتاج إلى كل من الفهرس والقيمة، استخدم `.enumerated()`: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` تعيد `enumerated()` تسلسلًا من القيم المجمعة `(offset, element)`.

التكرار عبر قاموس

ينتج عن التكرار عبر القاموس قيم مجمعة `(key, value)` بترتيب غير محدد: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` رتّب المفاتيح أولًا إذا كنت تحتاج إلى ترتيب حتمي.

التكرار عبر Set

يتم التكرار عبر Set بترتيب غير محدد: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` استدعِ `.sorted()` عندما تحتاج إلى ترتيب أبجدي أو تصاعدي.

zip() — التكرار المتوازي

كرّر عبر تسلسلين بالتوازي باستخدام `zip()`: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` يتوقف `zip` عند الوصول إلى أقصر تسلسل.

التصفية أثناء التكرار: عبارة where

أضف عبارة `where` لتخطي العناصر ضمنيًا: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` هذا أوضح من وضع عبارة `if` داخل جسم الحلقة.

التكرار باستخدام الفهارس

يمكنك الوصول إلى نطاق الفهارس الخام باستخدام `.indices`: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` استخدم ذلك عندما تحتاج إلى *تعديل* العناصر في مواضعها.

تفكيك Tuples في for-in

يمكن تفكيك تسلسلات tuples مباشرةً داخل الحلقة: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` هذا واضح وموجز، فلا حاجة إلى استخدام فهارس `.0` و`.1`.

التسلسلات الكسولة في الحلقات

ضع `.lazy` في البداية لتأجيل الحساب وتجنب إنشاء مصفوفات وسيطة: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` تكون `.lazy` مفيدة جدًا عند تسلسل العمليات على تسلسلات كبيرة.

تحقق سريع

ما الطريقة التي تمنحك كلًا من الفهرس والقيمة عند التكرار عبر مصفوفة؟

مراجعة

أهم النقاط: • `for elem in collection` — التكرار الأساسي • `.enumerated()` — أزواج الفهرس والقيمة • `zip(a, b)` — التكرار المتوازي لتسلسلين • `for x in seq where condition` — التصفية ضمنيًا • `.indices` — يُستخدم عند تعديل العناصر • `.lazy` — تأجيل العمل على التسلسلات الكبيرة التالي: العبارات `break` و`continue` والعبارات ذات التسميات.

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

هل درس «تكرار عناصر المجموعات باستخدام for-in» مجاني؟

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

ماذا ستتعلم في «تكرار عناصر المجموعات باستخدام for-in»؟

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

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

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 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