0Pricing
Kotlin Academy · درس

معاملات النطاق

.. وuntil

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

ما هو النطاق

يمثل النطاق سلسلةً من القيم الواقعة بين بداية ونهاية.

يجعل Kotlin النطاقات جزءًا أساسيًا من اللغة باستخدام العامليْن .. وuntil.

العامل ..

ينشئ العامل .. نطاقًا شاملًا؛ فكلا الطرفين جزء من النطاق.

يحتوي 1..5 على القيم 1 و2 و3 و4 و5.

fun main() {
    val range = 1..5
    println(range.toList())
}

التحقق من الانتماء

استخدم in لاختبار ما إذا كانت قيمة ما تقع داخل نطاق.

وهذا بديل واضح لمقارنتين.

fun main() {
    val x = 7
    println(x in 1..10)
    println(x in 1..5)
}

نفي الانتماء

يختبر !in ما إذا كانت قيمة ما تقع خارج نطاق.

وتكون قراءته أكثر طبيعية من نفي التعبير بأكمله.

fun main() {
    val score = 105
    if (score !in 0..100) {
        println("out of range")
    }
}

العامل until

ينشئ until نطاقًا يستبعد الحد الأعلى.

يحتوي 1 until 5 على القيم 1 و2 و3 و4. وهذا مثالي للفهرسة التي تبدأ من الصفر.

fun main() {
    val range = 1 until 5
    println(range.toList())
}

الشمول والاستبعاد

الفرق الأساسي:

  • يشمل 0..n القيمة n
  • يتوقف 0 until n عند n - 1

اختر بينهما بناءً على ما إذا كان ينبغي أن تكون النهاية جزءًا من النطاق.

fun main() {
    println((0..3).toList())
    println((0 until 3).toList())
}

النطاقات فوق الفهارس

يتوافق until تمامًا مع فهرسة القوائم: فالقائمة التي حجمها n لها الفهارس 0 until n.

وهذا يتجنب أخطاء تجاوز الحد بمقدار واحد.

fun main() {
    val items = listOf("a", "b", "c")
    for (i in 0 until items.size) {
        println(i.toString() + ": " + items[i])
    }
}

نطاقات المحارف

لا تقتصر النطاقات على الأرقام؛ فالمحارف تكوّن نطاقات أيضًا وفق ترتيبها.

يغطي 'a'..'e' المحارف a وb وc وd وe.

fun main() {
    println('a' in 'a'..'z')
    println('5' in '0'..'9')
}

النطاقات كقيم

النطاق كائن يمكنك تخزينه في متغير وإعادة استخدامه.

وهذا مفيد في منطق التحقق.

fun main() {
    val validAge = 0..120
    println(25 in validAge)
    println(150 in validAge)
}

النطاقات في when

تتحد النطاقات بصورة ممتازة مع when باستخدام in.

وهذا يعبّر بوضوح عن فئات القيم العددية.

fun grade(score: Int): Char = when (score) {
    in 90..100 -> 'A'
    in 80..89 -> 'B'
    in 70..79 -> 'C'
    else -> 'F'
}

fun main() {
    println(grade(95))
    println(grade(72))
}

جمع المفاهيم

تنشئ عوامل النطاق تسلسلات وتختبر الانتماء:

  • يشمل .. الطرفين
  • يستبعد until الطرف الأعلى
  • يختبر in و!in الانتماء
  • يعملان مع الأرقام والمحارف
fun main() {
    val c = 'k'
    println(c in 'a'..'z')
    val n = 50
    println(n in 1 until 100)
}

اختبار سريع

اختبر مدى فهمك لعوامل النطاق.

مراجعة

لقد تعلمت عوامل النطاق:

  • ينشئ .. نطاقًا شاملًا
  • يستبعد until الحد الأعلى
  • يختبر in و!in الانتماء
  • تعمل النطاقات مع الأرقام والمحارف

ستتعلم بعد ذلك التحكم في الاتجاه وحجم الخطوة باستخدام step وdownTo.

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

هل درس «معاملات النطاق» مجاني؟

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

ماذا ستتعلم في «معاملات النطاق»؟

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

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

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

كم من الوقت يستغرق درس «معاملات النطاق»؟

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

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

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

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

  1. معاملات النطاق
  2. step وdownTo
  3. النطاقات في الحلقات
  4. النطاقات المخصصة ونطاقات Char
← العودة إلى Kotlin Academy