Junior
Kotlin'de 'run' bloğu nedir ve nasıl kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'deki run bloğu, Kotlin standart kütüphanesine gömülü bir kapsam fonksiyonudur. Kullanımı:
- Bir nesne üzerinde kod bloğu çalıştırmak: Nesne üzerinde çağrılır ve sağlanan lambda ifadesini yürütür. Lambda içinde nesne
thisolarak erişilebilir. - Sonucu döndürmek: Lambda içindeki son ifadenin sonucunu döner.
- Nullable nesneler: Nullable nesnelerle çalışmak için kullanışlıdır, çünkü güvenli çağrı operatörü
?.kullanıldığında,runbloğu yalnızca nesne null değilse çalışır.
Ana özellikler:
- Alıcı (
this):runçağrılan nesne, lambda içindethisolarak erişilebilir. - Dönüş değeri: Lambda içindeki son ifadenin sonucu.
Kullanım örnekleri:
// Örnek 1: Bir nesne üzerinde kod çalıştırıp sonuç almak
val length: Int = "some string".run {
// 'this' burada "some string"'e atıfta bulunur
println("Dizenin uzunluğu: ${this.length}")
length // Dizenin uzunluğunu döner
}
// Örnek 2: Nullable nesne ile çalışma
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
// Bu blok yalnızca nullableString null değilse çalışır
toUpperCase() // String'i büyük harfe çevirir
}
val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
// Bu blok çalışmaz, run?. null döner
toUpperCase()
}
// Örnek 3: Nesne oluşturma ve yapılandırma
val person = run {
val name = "Alice"
val age = 30
Person(name, age) // Person sınıfı varsayılır
}