النطاقات المغلقة وشبه المفتوحة
استخدم ... و ..< بشكل صحيح في الحلقات والمقاطع.
النطاقات المغلقة وشبه المفتوحة درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.
ما النطاق
يمثل النطاق تسلسلاً من القيم بين حد سفلي وحد علوي. توفر Swift عاملَي نطاق رئيسيين لهذا الغرض.
let r = 1...5
for n in r {
print(n)
}النطاق المغلق
يتضمن عامل النطاق المغلق a...b كلا الحدّين. يحتوي 1...5 على القيم 1 و2 و3 و4 و5.
for n in 1...5 {
print(n)
}النطاق نصف المفتوح
يتضمن عامل النطاق نصف المفتوح a..<b الحد السفلي، لكنه يستبعد الحد العلوي. يحتوي 0..<5 على القيم 0 و1 و2 و3 و4.
for n in 0..<5 {
print(n)
}لماذا يشيع النطاق نصف المفتوح
تتوافق النطاقات نصف المفتوحة تمامًا مع أعداد العناصر والفهارس. يمر 0..<array.count بكل فهرس صالح مرة واحدة بالضبط.
let items = ["a", "b", "c"]
for i in 0..<items.count {
print("\(i): \(items[i])")
}للنطاقات خاصية count
يعرف النطاق عدد القيم التي يشملها من خلال خاصية count الخاصة به.
let closed = 1...5
let halfOpen = 0..<5
print(closed.count)
print(halfOpen.count)التحقق من الانتماء
استخدم contains لاختبار ما إذا كانت قيمة ما تقع ضمن نطاق.
let valid = 1...100
print(valid.contains(50))
print(valid.contains(0))
print(valid.contains(101))الحدود السفلية والعلوية
يوفر كل نطاق الخاصيتين lowerBound وupperBound.
let r = 10...20
print(r.lowerBound)
print(r.upperBound)النطاقات الفارغة والمفردة
يكون النطاق نصف المفتوح مثل 5..<5 فارغًا. ولا يمكن أن يكون النطاق المغلق فارغًا لأن كلا طرفيه مشمول.
let empty = 5..<5
print(empty.isEmpty)
let single = 5...5
print(single.count)النطاقات في switch
تعمل النطاقات كأنماط لحالات switch لتصنيف قيمة ضمن فئات.
let score = 73
switch score {
case 0..<60:
print("Fail")
case 60...100:
print("Pass")
default:
print("Invalid")
}يجب ترتيب الحدود
يجب ألا يتجاوز الحد السفلي الحد العلوي. يؤدي كتابة 5...1 إلى تعطل البرنامج أثناء التشغيل، لذا احرص على ترتيب الحدود.
let lo = 2
let hi = 8
if lo <= hi {
for n in lo...hi {
print(n)
}
}حساب التكرارات
عندما تحتاج فقط إلى تكرار شيء ما N مرة ولا تحتاج إلى الفهرس، استخدم نطاقًا مع _.
var total = 0
for _ in 1...4 {
total += 10
}
print(total)تحقق سريع
اختبر النطاقات المغلقة والنطاقات نصف المفتوحة.
مراجعة: النطاقات المغلقة والنطاقات نصف المفتوحة
يتضمن a...b كلا الطرفين، بينما يستبعد a..<b الحد العلوي ويتوافق طبيعيًا مع أعداد العناصر والفهارس. تدعم النطاقات count وcontains وخصائص الحدود.
for i in 0..<3 { print(i) }الأسئلة الشائعة
هل درس «النطاقات المغلقة وشبه المفتوحة» مجاني؟
نعم — نص درس «النطاقات المغلقة وشبه المفتوحة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.
ماذا ستتعلم في «النطاقات المغلقة وشبه المفتوحة»؟
استخدم ... و ..< بشكل صحيح في الحلقات والمقاطع. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «النطاقات المغلقة وشبه المفتوحة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- النطاقات المغلقة وشبه المفتوحة
- النطاقات أحادية الجانب
- العد باستخدام stride(from:to:by:)
- النطاقات كمجموعات