Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة 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 متعددة باستخدام معاملات المقارنة.

challenge icon

التحدي

سهل

اكتب دالة getAgeCategory تأخذ age وتعيد فئة المرحلة العمرية بناءً على نطاقات العمر.

استخدم جملة switch مع النطاقات لتصنيف العمر إلى واحدة من خمس مراحل حياتية.

الشروط:

  • 0...2 - تعيد "Infant"
  • 3...12 - تعيد "Child"
  • 13...19 - تعيد "Teenager"
  • 20...64 - تعيد "Adult"
  • 65...120 - تعيد "Senior"
  • أي قيمة أخرى - تعيد "Invalid age"

المعاملات:

  • age (Int): عمر الشخص

المخرجات: فئة المرحلة العمرية كـ String

ورقة مرجعية

يمكن لبيانات Switch استخدام النطاقات (ranges) لمطابقة القيم ضمن فترات محددة:

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
default:
    print("F")
}

يقوم عامل التشغيل ... بإنشاء نطاق مغلق (closed range) يتضمن كلا الطرفين (على سبيل المثال، 90...100 يطابق من 90 إلى 100).

يقوم عامل التشغيل ..< بإنشاء نطاق نصف مفتوح (half-open range) يستثني الحد العلوي (على سبيل المثال، 80..<90 يطابق من 80 إلى 89).

تتحقق لغة Swift من كل حالة بالترتيب وتنفذ أول حالة مطابقة.

جرّب بنفسك

func getAgeCategory(age: Int) -> String {
    // اكتب الكود هنا
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات