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

النطاقات في Switch

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 10 من 56.

لقد استخدمت switch مع النطاقات في الأساسيات. نفس الحيلة تتوسع لتشمل مشاكل التصنيف الحقيقية حيث تغطي كل حالة مجموعة من القيم.

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")
}
// warm

تستخدم الـ case ..<0 الأولى صيغة النطاق أحادي الجانب: "أي قيمة أقل تماماً من 0". يمكنك استخدام 0... لتعني "0 أو أكبر" أيضاً.

يتم فحص الحالات من الأعلى إلى الأسفل وأول تطابق يتم اعتماده، لذا قم بترتيبها من الأدنى إلى الأعلى (أو استخدم default للحالة الشاملة).

challenge icon

التحدي

مبتدئ

اقرأ عددًا صحيحًا واحدًا من المدخلات: درجة الحرارة بالدرجة المئوية. اطبع أحد هذه التصنيفات باستخدام switch واحدة مع حالات النطاق (range cases):

  • أقل من 0 (الأرقام السالبة): freezing
  • 0...9: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 فما فوق: scorching

للمدخل 22، المخرج هو warm.

ورقة مرجعية

استخدم switch مع حالات النطاق (range cases) لتصنيف القيم. يتم التحقق من الحالات من الأعلى إلى الأسفل؛ أول مطابقة هي التي تفوز.

let temp = 22
switch temp {
case ..<0:        print("freezing")   // جانب واحد: أي شيء أقل من 0
case 0..<10:      print("cold")
case 10..<20:     print("mild")
case 20..<30:     print("warm")
default:          print("hot")        // شامل للكل
}
// warm
  • ..<0 — نطاق من جانب واحد: أي قيمة أقل تماماً من 0
  • 40... — نطاق من جانب واحد: 40 أو أكبر
  • رتب الحالات من الأدنى إلى الأعلى؛ استخدم default للحالات المتبقية الشاملة

جرّب بنفسك

let temp = Int(readLine()!)!

// TODO: قم بعمل switch على temp باستخدام النطاقات، واطبع التسمية المطابقة
quiz iconاختبر نفسك

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

جميع دروس المنطق والتدفق