switch قوية مع مطابقة الأنماط
اكتب عبارات switch واضحة ومعبرة: طابق القيم المرتبطة والنطاقات والصفوف، وأضف عبارات where. وحافظ على شمولية الفروع وقابليتها للقراءة.
switch قوية مع مطابقة الأنماط درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.
لماذا مطابقة الأنماط؟
تطابق switch في Swift الأنماط، بما فيها التعدادات ذات القيم المرتبطة، والنطاقات الرقمية، والمجموعات، وشروط where. كما أنها شاملة لجميع الحالات.
القيم المرتبطة
اربط القيم المرتبطة باستخدام let/var مباشرةً في نمط الحالة.
enum Network {
case success(code: Int, body: String)
case failure(message: String)
case offline
}
let r1: Network = .success(code: 200, body: "OK")
switch r1 {
case .success(let code, let body):
print("success", code, body)
case .failure(let msg):
print("fail:", msg)
case .offline:
print("offline")
}مطابقة النطاقات
طابق النطاقات الرقمية مثل 90...100 أو 80..<90. استخدم , لمطابقة أنماط متعددة في حالة واحدة.
let score = 73
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 60..<80:
print("C")
case 0..<60:
print("D")
default:
print("invalid")
}المجموعات وwhere
طابق المجموعات وحسّن المطابقة بشرط where لإجراء فحوصات واضحة شبيهة بفحوصات الأشكال الهندسية.
let point = (x: -2, y: 3)
switch point {
case (0, 0):
print("origin")
case (let x, 0):
print("x-axis at", x)
case (0, let y):
print("y-axis at", y)
case (let x, let y) where x > 0 && y > 0:
print("Q1:", x, y)
default:
print("somewhere else")
}أحرف البدل والمطابقة الجزئية
استخدم _ لتجاهل الحقول، أو لربط ما تحتاج إليه فقط. حافظ على فروع صغيرة وواضحة.
enum Event {
case message(String, priority: Int)
case ping
}
let e: Event = .message("update", priority: 1)
switch e {
case .message(let text, priority: _):
print("msg:", text) // ignore priority with _
case .ping:
print("ping")
}نصائح
نصائح:
- يُفضّل البدء بـالحالات المحددة؛ واترك default لما تبقى من الحالات النادرة.
- اربط القيم باستخدام case let، ونقّحها باستخدام where.
- صمّم التعدادات بحيث يكون switch شاملاً لجميع الحالات دون default متى أمكن.
قوة switch
تحقق سريع: لماذا يُعدّ switch في Swift أكثر قدرة على التعبير؟
خلاصة
الخلاصة: استخدم switch لمطابقة الأنماط—واربط حمولات التعدادات، واستهدف النطاقات، وادمج الأزواج، ونقّح باستخدام where—مع الحفاظ على الشمول.
الأسئلة الشائعة
هل درس «switch قوية مع مطابقة الأنماط» مجاني؟
نعم — نص درس «switch قوية مع مطابقة الأنماط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.
ماذا ستتعلم في «switch قوية مع مطابقة الأنماط»؟
اكتب عبارات switch واضحة ومعبرة: طابق القيم المرتبطة والنطاقات والصفوف، وأضف عبارات where. وحافظ على شمولية الفروع وقابليتها للقراءة. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «switch قوية مع مطابقة الأنماط»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات Enums المتقدمة
- switch قوية مع مطابقة الأنماط
- نمذجة الحالات المنتهية