حلقة for على النطاقات والمجموعات
استخدم for مع IntRange وdownTo وstep والمجموعات.
حلقة for على النطاقات والمجموعات درس مجاني في Kotlin Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
حلقات for في Kotlin
تكرّر حلقة for في Kotlin على أي شيء يوفر iterator — مثل النطاقات والمصفوفات والقوائم والخرائط والمجموعات وحتى السلاسل النصية.
حلقة for على نطاق
استخدم .. لإنشاء نطاق أعداد صحيحة شامل. تمتد الحلقة من البداية إلى النهاية، مع تضمين الطرفين.
fun main() {
for (i in 1..5) {
println(i)
}
// 1, 2, 3, 4, 5
}نطاق باستخدام until (غير شامل)
تنشئ until نطاقًا نصف مفتوح يستثني الحد الأعلى — وهو مفيد لحلقات الفهارس.
fun main() {
for (i in 0 until 4) {
println("Index: $i")
}
// 0, 1, 2, 3
}استخدام downTo للعد التنازلي
تكرّر downTo بالعكس من البداية إلى النهاية، مع تضمين النهاية.
fun main() {
for (i in 10 downTo 1) {
print("$i ")
}
println() // 10 9 8 7 6 5 4 3 2 1
}استخدام step لتجاوز القيم
اجمع أي نطاق مع step للقفز بمقدار أكبر بين التكرارات.
fun main() {
for (i in 0..20 step 5) {
print("$i ")
}
println() // 0 5 10 15 20
}التكرار على قائمة
تعمل حلقات for بسلاسة مع المجموعات — إذ تكرّر العناصر مباشرةً من دون فهارس.
fun main() {
val fruits = listOf("apple", "banana", "cherry")
for (fruit in fruits) {
println(fruit)
}
}التكرار على قائمة باستخدام الفهارس
استخدم indices للحصول على المواضع، أو withIndex() للحصول على الفهرس والقيمة معًا.
fun main() {
val items = listOf("a", "b", "c")
for (i in items.indices) {
println("$i: ${items[i]}")
}
for ((idx, v) in items.withIndex()) {
println("idx=$idx v=$v")
}
}التكرار على خريطة
فكّك كل إدخال في الخريطة إلى أزواج (مفتاح، قيمة) مباشرةً في رأس الحلقة.
fun main() {
val scores = mapOf("Alice" to 92, "Bob" to 78)
for ((name, score) in scores) {
println("$name: $score")
}
}التكرار على سلسلة نصية
السلاسل النصية قابلة للتكرار — ويمر كل حرف منها عبر الحلقة.
fun main() {
for (c in "Kotlin") {
print("$c ")
}
println() // K o t l i n
}حلقات for متداخلة
يمكنك تداخل الحلقات لاجتياز الشبكات والمصفوفات. استخدم عدة متغيرات ونطاقات داخلية.
fun main() {
for (row in 1..3) {
for (col in 1..3) {
print("($row,$col) ")
}
println()
}
}نطاق من الأحرف
تعمل نطاقات الأحرف أيضًا — وهي مثالية لاجتياز الأبجدية.
fun main() {
for (c in 'A'..'E') {
print("$c ")
}
println() // A B C D E
}تحقق سريع
أي صيغة نطاق تستثني الحد الأعلى؟
مراجعة
استخدم for (x in ...) مع النطاقات (.. وuntil وdownTo وstep) أو مع أي عنصر قابل للتكرار (قائمة أو خريطة أو سلسلة نصية). فكّك إدخالات الخريطة باستخدام (k, v)، واربط الفهارس بالعناصر باستخدام withIndex().
الأسئلة الشائعة
هل درس «حلقة for على النطاقات والمجموعات» مجاني؟
نعم — نص درس «حلقة for على النطاقات والمجموعات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
ماذا ستتعلم في «حلقة for على النطاقات والمجموعات»؟
استخدم for مع IntRange وdownTo وstep والمجموعات. تتمرن على Kotlin Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Academy؟
لا تُشترط خبرة سابقة. Kotlin Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «حلقة for على النطاقات والمجموعات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Academy هذا؟
نعم. كل درس في Kotlin Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- حلقة for على النطاقات والمجموعات
- while وdo-while: متى تستخدم كلًّا منهما
- forEach وrepeat وforEachIndexed
- break وcontinue وعمليات الإرجاع المسمّاة