حلقة For-In
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 42 من 86.
تسمح لك الحلقات بتكرار الكود عدة مرات دون الحاجة لكتابته مراراً وتكراراً. تعد for-in loop الحلقة الأكثر شيوعاً في Swift، وهي مثالية عندما تعرف بالضبط عدد المرات التي تريد فيها تكرار شيء ما.
إليك الهيكل الأساسي:
for number in 1...5 {
print(number)
}
// المخرجات: 1، 2، 3، 4، 5 (كل منها في سطر جديد)تنشئ الحلقة متغيراً يسمى number يأخذ تلقائياً كل قيمة في النطاق. يتم تشغيل الكود الموجود داخل الأقواس المتعرجة مرة واحدة لكل قيمة. في هذه الحالة، يتم تشغيله 5 مرات.
إذا لم تكن بحاجة إلى متغير الحلقة، فاستخدم الشرطة السفلية لتجاهله:
for _ in 1...3 {
print("Hello!")
}
// يطبع "Hello!" ثلاث مراتيُعدّ 1...5 نطاقاً مغلقاً يتضمن كلاً من 1 و 5. يمكنك أيضاً استخدام 1..<5 (نطاق نصف مفتوح) والذي يتضمن من 1 إلى 4، ولكنه يستثني 5.
التحدي
سهلاقرأ عددًا صحيحًا n من المدخلات. استخدم حلقة for-in لطباعة جميع الأرقام من 1 إلى n، كل منها في سطر جديد.
ستتلقى المدخلات التالية:
- سطر واحد يحتوي على عدد صحيح كسلسلة نصية (على سبيل المثال،
"5")
اقرأ المدخلات، وقم بتحويلها إلى Int، واستخدم حلقة for-in مع نطاق مغلق لطباعة كل رقم.
على سبيل المثال، إذا كانت المدخلات 4، يجب أن تكون المخرجات:
1
2
3
4ورقة مرجعية
تكرر حلقة for-in الكود لعدد محدد من المرات:
for number in 1...5 {
print(number)
}
// المخرجات: 1، 2، 3، 4، 5 (كل منها في سطر جديد)يأخذ متغير الحلقة (number) تلقائياً كل قيمة في النطاق. يتم تشغيل الكود الموجود داخل الأقواس مرة واحدة لكل قيمة.
إذا لم تكن بحاجة إلى متغير الحلقة، فاستخدم الشرطة السفلية:
for _ in 1...3 {
print("Hello!")
}
// يطبع "Hello!" ثلاث مراتعوامل النطاق (Range operators):
1...5- نطاق مغلق (يتضمن كلاً من 1 و 5)1..<5- نطاق نصف مفتوح (يتضمن من 1 إلى 4، ويستبعد 5)
جرّب بنفسك
// قراءة المدخلات
let input = readLine()!
let n = Int(input)!
// TODO: اكتب كودك أدناه - استخدم حلقة for-in لطباعة الأرقام من 1 إلى nيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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)