جملة Switch مع النطاقات
جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 30 من 86.
تصبح عبارات switch أكثر قوة عندما تستخدم النطاقات بدلًا من القيم الفردية. وهذا مثالي لتصنيف الأرقام ضمن مجموعات، مثل تحويل الدرجة إلى تقدير.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}ينشئ العامل ... نطاقًا مغلقًا يشمل كلا الطرفين، لذا فإن 90...100 يطابق 90 و91 وصولًا إلى 100. وينشئ العامل ..< نطاقًا نصف مفتوح يستثني الحد الأعلى: 80..<90 يطابق الأعداد من 80 إلى 89.
يفحص Swift كل حالة بالترتيب وينفّذ أول حالة مطابقة. بما أن نتيجتنا هي 85، فهي تقع ضمن 80..<90، لذا تتم طباعة "B". هذا الأسلوب أكثر وضوحًا بكثير من كتابة عدة شروط else if باستخدام عوامل المقارنة.
التحدي
سهلاكتب دالة getAgeCategory تأخذ age وتُرجع فئة المرحلة العمرية بناءً على نطاقات الأعمار.
استخدم تعليمة switch مع نطاقات لتصنيف العمر ضمن واحدة من خمس مراحل عمرية.
الشروط:
0...2- أعد"Infant"3...12- أعد"Child"13...19- أعد"Teenager"20...64- أعد"Adult"65...120- أعد"Senior"- أي قيمة أخرى - أعد
"Invalid age"
المعاملات:
age(Int): عمر الشخص
القيمة المُعادة: فئة المرحلة العمرية بصيغة String
جرّب بنفسك
func getAgeCategory(age: Int) -> String {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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)تدرّب بنفسك: Playground لـ Swift