0Pricing
Swift Academy · درس

الحالات المركبة و Fallthrough

اجمع الحالات واستخدم fallthrough عمدًا.

الحالات المركبة و Fallthrough درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.

الحالات المركبة

يمكن لحالة واحدة مطابقة عدة قيم عبر فصلها بفواصل: case "a", "b":. وتنفذ جميع القيم المذكورة الشيفرة نفسها.

let letter = "a"
switch letter {
case "a", "e", "i", "o", "u":
    print("Vowel")
default:
    print("Consonant")
}

لماذا نستخدم الحالات المركبة

تتجنب الحالات المركبة تكرار الأجسام المتطابقة. فهي تجمع القيم التي ينبغي أن تتصرف بالطريقة نفسها.

let day = 6
switch day {
case 6, 7:
    print("Weekend")
case 1, 2, 3, 4, 5:
    print("Weekday")
default:
    print("Invalid day")
}

الحالات المركبة مع النطاقات

يمكنك مزج النطاقات والقيم الفردية داخل حالة مركبة واحدة.

let code = 204
switch code {
case 200, 201, 204:
    print("Success")
case 400...499:
    print("Client error")
default:
    print("Other")
}

الحالات المركبة والربط

عند استخدام الربط في حالة مركبة، يجب أن تربط كل بدائلها الأسماء نفسها بالأنواع نفسها.

let point = (0, 5)
switch point {
case (let v, 0), (0, let v):
    print("On an axis at distance \(v)")
default:
    print("Off the axes")
}

مقدمة إلى fallthrough

لا تنتقل حالات Swift إلى الحالة التالية افتراضيًا. وتجبر الكلمة المفتاحية fallthrough التنفيذ على المتابعة إلى الحالة التالية.

let n = 1
switch n {
case 1:
    print("one")
    fallthrough
case 2:
    print("two")
default:
    print("done")
}

آلية عمل fallthrough

تنقل fallthrough التنفيذ إلى جسم الحالة التالية دون شروط؛ فهي لا تعيد التحقق من شرط تلك الحالة. استخدمها عن قصد.

let level = 3
switch level {
case 3:
    print("Level 3 perks")
    fallthrough
case 2:
    print("Level 2 perks")
    fallthrough
case 1:
    print("Level 1 perks")
default:
    break
}

يتجاهل fallthrough الأنماط

بما أن fallthrough يتخطى فحص نمط الحالة التالية، يجب ألا تعتمد الحالة التالية على ربط قيمة، وإلا فلن تُترجم الشيفرة.

let x = 10
switch x {
case 10:
    print("ten")
    fallthrough
default:
    print("reached default")
}

الحالات المركبة مقابل fallthrough

لتنفيذ الشيفرة نفسها لعدة قيم، فضّل الحالة المركبة. واحتفظ بـ fallthrough للسلوك المتسلسل فعلًا.

let grade = "B"
switch grade {
case "A", "B":
    print("Passing")
default:
    print("Other")
}

التجميع باستخدام fallthrough

يكون fallthrough مفيدًا للتأثيرات التراكمية، مثل سرد جميع المزايا بدءًا من فئة معينة نزولًا.

let tier = 2
var perks = [String]()
switch tier {
case 2:
    perks.append("Premium")
    fallthrough
case 1:
    perks.append("Basic")
default:
    break
}
print(perks)

استخدام كليهما

يمكنك استخدام الحالات المركبة وfallthrough في switch نفسه، بحيث تستخدم كلًّا منهما حيث يكون أنسب.

let n = 0
switch n {
case 0:
    print("zero")
    fallthrough
case 1, 2:
    print("small")
default:
    print("large")
}

ملاحظة حول سهولة القراءة

قد يفاجئ fallthrough القراء، لأن معظم اللغات تجعله السلوك الافتراضي. علّق على قصدك أو فضّل الحالات المركبة متى أمكن.

let status = "warn"
switch status {
case "warn", "error":
    print("Needs attention")
default:
    print("OK")
}

تحقق سريع

اختبر الحالات المركبة وfallthrough.

خلاصة: الحالات المركبة وFallthrough

استخدم الحالات المركبة المفصولة بفواصل لمشاركة جسم واحد بين عدة قيم. استخدم الكلمة المفتاحية الصريحة fallthrough فقط عندما تريد عمدًا أن يتابع التنفيذ إلى الحالة التالية.

let n = 2
switch n {
case 1, 2: print("small")
default: print("big")
}

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

هل درس «الحالات المركبة و Fallthrough» مجاني؟

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

ماذا ستتعلم في «الحالات المركبة و Fallthrough»؟

اجمع الحالات واستخدم fallthrough عمدًا. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «الحالات المركبة و Fallthrough»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. ‏Switch شامل للقيم
  2. مطابقة النطاقات والأزواج
  3. ربط القيم وعبارات where
  4. الحالات المركبة و Fallthrough
← العودة إلى Swift Academy