Scala for Backend Engineering & Functional Programming · درس

النطاقات في الحلقات

كرّر باستخدام to وuntil

الدرس 4 من 413 خطوة

النطاقات في الحلقات درس مجاني في Scala for Backend Engineering & Functional Programming على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Scala for Backend Engineering & Functional Programming، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Scala for Backend Engineering & Functional Programming 4 دروس في المجموع.

التكرار باستخدام النطاقات

النطاقات والحلقات متلازمان طبيعيًا. إذ يمنحك النطاق تسلسلًا منظمًا من الأعداد للتكرار عليه.

يوضح هذا الدرس كيفية تشغيل حلقات for، وتصفية القيم، وبناء النتائج باستخدام النطاقات.

حلقة for أساسية

تستخدم حلقة العد التقليدية نطاقًا مع for.

تأخذ قيمة i كل قيمة من قيم النطاق بالتتابع. وتطبع هنا الأعداد من 1 إلى 5 في أسطر منفصلة.

for (i <- 1 to 5) println(i)

استخدام until في الحلقات

عند فهرسة أشياء مثل مواضع المصفوفة، يكون until غالبًا هو الخيار المناسب.

فهو يتوقف قبل الحد بقيمة واحدة، مما يطابق الفهرسة التي تبدأ من الصفر تمامًا.

for (i <- 0 until 3) println(s"index $i")

تغيير الخطوة في حلقة

اجمع بين by والحلقة لتخطي القيم.

يطبع هذا المثال الأعداد الزوجية من 0 إلى 10، مع التقدم بمقدار اثنين في كل مرة.

for (i <- 0 to 10 by 2) println(i)

العد إلى الخلف

تجعل الخطوة السالبة الحلقة تعمل بالعكس.

وهذه أبسط طريقة للعد التنازلي، من 3 إلى 1 في هذا المثال.

for (i <- 3 to 1 by -1) println(i)

تجميع مجموع

تُعد الحلقات على النطاقات مناسبة جدًا لتجميع الإجماليات.

نضيف هنا كل عدد من 1 إلى 5 إلى مجموع جارٍ باستخدام متغير قابل للتغيير.

var total = 0
for (i <- 1 to 5) total += i
println(total)

التصفية باستخدام شرط حارس

يمكن أن تتضمن حلقة for حارسًا، وهو شرط if يتخطى القيم غير المرغوب فيها.

هنا تمر الأعداد الزوجية فقط عبر الحارس وتتم طباعتها.

for (i <- 1 to 10 if i % 2 == 0) println(i)

إنشاء القوائم باستخدام for

أضف yield لتحويل الحلقة إلى تعبير ينشئ مجموعة جديدة.

ينتج عن ذلك تسلسل من المربعات بدلًا من طباعة أي شيء.

val squares = for (i <- 1 to 5) yield i * i
println(squares.toList)

الحلقات المتداخلة

يمكنك سرد نطاقين في for واحدة لإنشاء حلقات متداخلة.

يقترن كل صف بكل عمود، فتتم طباعة كل التركيبات من شبكة صغيرة.

for (r <- 1 to 2; c <- 1 to 2) println(s"($r,$c)")

التكرار باستخدام foreach

توفر النطاقات أيضًا foreach كبديل عن for.

تنفذ دالة لكل عنصر. يفضل كثير من مطوري Scala استخدام for لوضوحها، لكن كليهما يعمل.

(1 to 3).foreach(i => println(i))

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

يستخدم نمط شائع indices للتكرار على مجموعة حسب الموضع.

يطابق نطاق indices المواضع الصالحة في القائمة، لذلك يكون استخدام كل فهرس آمنًا.

val names = List("Ann", "Ben", "Cy")
for (i <- names.indices) println(s"$i: ${names(i)}")

تحقق سريع

اختبر ما تعلمته عن النطاقات في الحلقات.

مراجعة

تدعم النطاقات الحلقات: استخدم for (i <- a to b) للتكرار، وby لتحديد مقدار الخطوة، وخطوة سالبة للعد التنازلي، وحارسًا للتصفية.

أضف yield لإنشاء مجموعة جديدة، وضمّن النطاقات لإنشاء الشبكات، واستخدم indices للتنقل في المجموعة حسب الموضع. لقد أكملت الدورة.

البدء مجانًا

تعلم Scala مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
39
الدروس
143

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

هل درس «النطاقات في الحلقات» مجاني؟

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

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

كرّر باستخدام to وuntil تتمرن على Scala for Backend Engineering & Functional Programming مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Scala for Backend Engineering & Functional Programming؟

لا تُشترط خبرة سابقة. Scala for Backend Engineering & Functional Programming على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «النطاقات في الحلقات»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Scala for Backend Engineering & Functional Programming هذا؟

نعم. كل درس في Scala for Backend Engineering & Functional Programming يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. إنشاء Tuples
  2. تفكيك Tuples
  3. إنشاء النطاقات
  4. النطاقات في الحلقات
← العودة إلى Scala for Backend Engineering & Functional Programming