Sobes.tech
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ı:

  1. 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 this olarak erişilebilir.
  2. Sonucu döndürmek: Lambda içindeki son ifadenin sonucunu döner.
  3. Nullable nesneler: Nullable nesnelerle çalışmak için kullanışlıdır, çünkü güvenli çağrı operatörü ?. kullanıldığında, run bloğu yalnızca nesne null değilse çalışır.

Ana özellikler:

  • Alıcı (this): run çağrılan nesne, lambda içinde this olarak 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
}