2 سال پیش / خواندن دقیقه

حلقه for در کاتلین به زبان ساده

حلقه for در کاتلین به زبان ساده

در این بخش از مقاله آموزش کاتلین با حلقه for در این زبان برنامه‌نویسی آشنا خواهیم شد. حلقه for در کاتلین برای تکرار یک قطعه کد به تعداد مشخصی دفعه استفاده می‌شود.

برخلاف جاوا و دیگر زبان‌های رایج برنامه‌نویسی، هیچ حلقه for در کاتلین به طور سنتی وجود ندارد. بلکه در کاتلین حلقه for برای تکرار روی بازه‌ها، آرایه‌ها، map-ها و مواردی از این دست استفاده می‌شود. در واقع حلقه for روی هر چیزی که یک «تکرارکننده» (iterator) داشته باشد اجرا می‌شود. ساختار حلقه for در کاتلین به صورت زیر است:

for (item in collection) {    // body of loop
}


مثالی از تکرار روی یک بازه

fun main(args: Array<String>) {
    for (i in 1..5) {        println(i)    }
}


در کد فوق، حلقه for روی یک بازه تکرار می‌کند و همه آیتم‌های منفرد را پرینت می‌گیرد. خروجی برنامه فوق به صورت زیر است:

1 2
3 4
5

اگر بدنه حلقه مانند مثال فوق، شامل تنها یک گزاره باشد، لزومی به استفاده از آکولاد {} نیست.

fun main(args: Array<String>) {    for (i in 1..5) println(i)
}


امکان تکرار روی یک بازه با استفاده از حلقه for به این جهت فراهم آمده است که بازه‌ها یک «تکرارکننده» (iterator) ارائه می‌کنند. در خصوص تکرارکننده‌ها در ادامه این مقاله مطالب بیشتری ارائه شده است.

مثالی از روش‌های مختلف تکرار روی یک بازه

fun main(args: Array<String>) {
    print("for (i in 1..5) print(i) = ")    for (i in 1..5) print(i)
    println()
    print("for (i in 5..1) print(i) = ")    for (i in 5..1) print(i)             // prints nothing
    println()
    print("for (i in 5 downTo 1) print(i) = ")    for (i in 5 downTo 1) print(i)
    println()
    print("for (i in 1..4 step 2) print(i) = ")    for (i in 1..5 step 2) print(i)
    println()
    print("for (i in 4 downTo 1 step 2) print(i) = ")    for (i in 5 downTo 1 step 2) print(i)
}


خروجی برنامه فوق به صورت زیر است:

for (i in 1..5) print(i) = 12345 for (i in 5..1) print(i) = for (i in 5 downTo 1) print(i) = 54321 for (i in 1..4 step 2) print(i) = 135 for (i in 4 downTo 1 step 2) print(i) = 531

تکرار روی یک آرایه

در این بخش مثالی از تکرار روی یک آرایه String را بررسی می‌کنیم:

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python" "Java")
    for (item in language)        println(item)
}


خروجی کد فوق به صورت زیر است:

Ruby Koltin Python Java

امکان تکرار روی یک آرایه با استفاده از اندیس وجود دارد. به مثال زیر توجه کنید:

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python", "Java")
    for (item in language.indices) {
        // printing array elements having even index only        if (item%2 == 0)            println(language[item])    }
}


خروجی برنامه فوق به صورت زیر است:

Ruby 
Python

اگر می‌خواهید در این خصوص اطلاعات بیشتری کسب کنید به بخش «آرایه‌های کاتلین» (+) مراجعه کنید.

تکرار روی یک رشته

در این بخش مثالی از تکرار روی یک String ارائه شده است.

fun main(args: Array<String>) {
    var text= "Kotlin"
    for (letter in text) {        println(letter)    }
}


خروجی کد فوق به صورت زیر است:

K o
t l
i n

امکان تکرار روی یک String با استفاده از اندیس و به روشی مشابه آرایه‌ها وجود دارد. به مثال زیر توجه کنید:

fun main(args: Array<String>) {
    var text= "Kotlin"
    for (item in text.indices) {        println(text[item])    }
}


خروجی کد فوق به صورت زیر است:

K o
t l
i n


شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع