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

جملة Switch

جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 29 من 86.

عندما تقوم بفحص قيمة واحدة مقابل العديد من المطابقات المحتملة، فإن switch statement توفر بديلاً أكثر تنظيماً لسلاسل else if الطويلة. وهي مفيدة بشكل خاص عندما يكون لديك عدة حالات منفصلة للتعامل معها.

let day = "Monday"

switch day {
case "Monday":
    print("Start of the week")
case "Friday":
    print("Almost weekend!")
case "Saturday", "Sunday":
    print("Weekend!")
default:
    print("Regular day")
}

تقوم لغة Swift بمقارنة القيمة الموجودة بعد switch بكل case. وعندما تجد تطابقاً، تقوم بتنفيذ الكود الخاص بتلك الحالة. لاحظ كيف يمكنك دمج قيم متعددة في حالة واحدة باستخدام الفواصل.

تتعامل الحالة default مع أي قيم لا تطابق الحالات الأخرى — وهي مطلوبة عندما لا تغطي حالاتك كل قيمة ممكنة. وعلى عكس بعض اللغات الأخرى، لا ينتقل switch في Swift إلى الحالة التالية تلقائيًا، لذا لست بحاجة إلى عبارات break.

let grade = "B"

switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
case "C":
    print("Fair")
default:
    print("Needs improvement")
}
challenge icon

التحدي

سهل

اكتب دالة getSeasonActivity تأخذ season وتُرجع نشاطاً موصى به لهذا الموسم.

استخدم جملة switch لمطابقة الموسم وإرجاع النشاط المناسب.

الحالات:

  • "Spring" - تُرجع "Go hiking"
  • "Summer" - تُرجع "Go swimming"
  • "Fall"، "Autumn" - تُرجع "Go apple picking" (كلاهما يجب أن يُرجع نفس النشاط)
  • "Winter" - تُرجع "Go skiing"
  • أي قيمة أخرى - تُرجع "Stay home"

المعاملات:

  • season (String): اسم الموسم

المخرجات: النشاط الموصى به كـ String

ورقة مرجعية

توفر جملة switch بديلاً أكثر ترتيباً لعدة جمل else if عند التحقق من قيمة واحدة مقابل العديد من المطابقات المحتملة.

الصيغة الأساسية:

let day = "Monday"

switch day {
case "Monday":
    print("Start of the week")
case "Friday":
    print("Almost weekend!")
case "Saturday", "Sunday":
    print("Weekend!")
default:
    print("Regular day")
}

نقاط رئيسية:

  • تقارن لغة Swift القيمة الموجودة بعد switch مع كل case
  • يمكن دمج قيم متعددة في حالة (case) واحدة باستخدام الفواصل
  • تتعامل الحالة default مع القيم التي لا تطابق الحالات الأخرى، وهي مطلوبة عندما لا تغطي الحالات كل قيمة ممكنة
  • لا تنتقل جملة switch في Swift تلقائياً إلى الحالة التالية (fall through)، لذا فإن جمل break ليست ضرورية

مثال مع قيم الإرجاع:

let grade = "B"

switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
case "C":
    print("Fair")
default:
    print("Needs improvement")
}

جرّب بنفسك

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

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

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