النطاقات في Switch
جزء من قسم المنطق والتدفق في رحلة Swift على Coddy. الدرس 10 من 56.
لقد استخدمت switch مع ranges في الأساسيات. وتنطبق الحيلة نفسها على مسائل التصنيف الحقيقية، حيث تغطي كل حالة نطاقًا من القيم.
let temp = 22
switch temp {
case ..<0: print("freezing")
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot")
}
// دافئيستخدم أول case ..<0 صيغة النطاق أحادي الجانب: «أي قيمة أقل من 0 بشكل صارم». يمكنك استخدام 0... للدلالة على «0 أو أكبر» أيضًا.
يتم التحقق من الحالات من الأعلى إلى الأسفل، وتفوز أول مطابقة؛ لذا رتّبها من الأقل إلى الأعلى (أو استخدم default للحالة الشاملة).
التحدي
مبتدئاقرأ عددًا صحيحًا واحدًا من الإدخال: درجة حرارة مئوية. اطبع إحدى هذه التسميات باستخدام switch واحد مع حالات النطاق:
- أقل من
0(القيم السالبة):freezing 0...9:cold10...19:mild20...29:warm30...39:hot40فأعلى:scorching
بالنسبة إلى الإدخال 22، يكون الناتج warm.
جرّب بنفسك
let temp = Int(readLine()!)!
// TODO: switch على temp باستخدام النطاقات، اطبع التسمية المطابقة
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق والتدفق
1النصوص بعمق
العد والفهارسحالة الأحرف وإزالة الفراغاتالبحث في النصوصتقسيم ودمج النصوصاستبدال النصوص الفرعيةمراجعة - التحقق من اسم المستخدم4المجموعات
إنشاء المجموعاتالاتحاد والتقاطعالطرح والفرق المتماثلالمجموعات الجزئية والشاملةمراجعة - تصفية الـ Tag7مشروع - متتبع العادات
نظرة عامة على المشروعتحديد كمكتمل2النطاقات والخطوات
المغلقة مقابل نصف المفتوحةالخطوة (Stride)دوال النطاقاتالنطاقات في Switchملخص - شبكة التقويم5الدوال من الرتبة العليا - الجزء الأول
MapFilterReduceربط Map و Filter و Reduceمراجعة - إحصائيات الكلماتتدرّب بنفسك: Playground لـ Swift