Sobes.tech
Junior

Kotlin'da 'run' bloki nima va uni qanday ishlatish mumkin?

sobes.tech AI

AIdan javob

Kotlin'dagi run bloki Kotlin standart kutubxonasiga kiradigan kengaytirish funksiyasidir. U quyidagilar uchun ishlatiladi:

  1. Obyekt ustida kod blokini bajarish: Bu obyekt ustida chaqiriladi va berilgan lambda ifodani bajaradi. Lambda ichida obyekt this sifatida mavjud.
  2. Natijani qaytarish: Lambda ichidagi oxirgi ifoda natijasini qaytaradi.
  3. Nullable obyektlar: Nullable obyektlar bilan ishlash uchun qulay, chunki ?. xavfsiz chaqirish operatoridan foydalanilganda, run bloki faqat obyekt null bo'lmagan hollarda bajariladi.

Asosiy xususiyatlar:

  • Qabul qiluvchi (this): run chaqirilgan obyekt lambda ichida this sifatida mavjud.
  • Qaytish qiymati: Lambda ichidagi oxirgi ifoda natijasi.

Foydalanish misollari:

// Misol 1: obyekt ustida kod bajarish va natijani olish
val length: Int = "some string".run {
    // 'this' bu yerda "some string" ga taalluqlidir
    println("Qator uzunligi: ${this.length}")
    length // Qator uzunligini qaytaradi
}
// Misol 2: nullable obyekt bilan ishlash
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
    // Bu blok faqat nullableString null bo'lmagan hollarda bajariladi
    toUpperCase() // Stringni katta harflarga o'zgartiradi
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Bu blok bajarilmaydi, run?. null qaytaradi
    toUpperCase()
}
// Misol 3: obyekt yaratish va sozlash
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // Person klassi mavjud deb faraz qilinadi
}