Sobes.tech
Junior

Kotlinдеги 'run' блогу эмне жана ал кандай колдонулат?

sobes.tech AI

AIден жооп

Kotlin'deki run bloku Kotlin standart kitaplığında gömülü olan kapsam fonksiyonudur. O, aşağıdaki məqsədlər üçün istifadə olunur:

  1. Obyekt üzərində kod blokunu icra etmək: O, obyekt üzərində çağrılır və arqument kimi verilmiş lambda ifadəsini icra edir. Lambda daxilində obyekt this kimi mövcuddur.
  2. Nəticəni geri qaytarmaq: Lambda içindəki son ifadənin nəticəsini geri qaytarır.
  3. Nullable obyektlər: Nullable obyektlərlə işləmək üçün faydalıdır, çünki ?. təhlükəsiz çağırış operatorundan istifadə edildikdə, run bloku yalnız obyekt null deyilsə icra olunacaq.

Əsas xüsusiyyətlər:

  • Qəbuledici (this): run çağırılan obyekt lambda daxilində this kimi mövcuddur.
  • Geri qaytarılan dəyər: Lambda içindəki son ifadənin nəticəsi.

İstifadə nümunələri:

// Nümunə 1: obyekt üzərində kod icra etmək və nəticəni almaq
val length: Int = "some string".run {
    // 'this' burada "some string"-ə aiddir
    println("Dizginin uzunluğu: ${this.length}")
    length // Uzunluğu geri qaytarır
}
// Nümunə 2: nullable obyektlə işləmək
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
    // Bu blok yalnız nullableString null deyilsə icra olunacaq
    toUpperCase() // String-i böyük hərflərə çevirir
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Bu blok icra olunmayacaq, run?. null qaytaracaq
    toUpperCase()
}
// Nümunə 3: obyekt yaratmaq və konfiqurasiya etmək
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // Tutaq ki, Person sinfi mövcuddur
}