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:
- Obyekt ustida kod blokini bajarish: Bu obyekt ustida chaqiriladi va berilgan lambda ifodani bajaradi. Lambda ichida obyekt
thissifatida mavjud. - Natijani qaytarish: Lambda ichidagi oxirgi ifoda natijasini qaytaradi.
- Nullable obyektlar: Nullable obyektlar bilan ishlash uchun qulay, chunki
?.xavfsiz chaqirish operatoridan foydalanilganda,runbloki faqat obyekt null bo'lmagan hollarda bajariladi.
Asosiy xususiyatlar:
- Qabul qiluvchi (
this):runchaqirilgan obyekt lambda ichidathissifatida 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
}