Sobes.tech
Junior

Mis on 'run' plokk Kotlinis ja kuidas seda kasutatakse?

sobes.tech AI

Vastus AI-lt

Kotlin run plokk on Kotlin standardraamatukogus sisseehitatud vaatevälja funktsioon. Seda kasutatakse:

  1. Koodiploki täitmine objekti peal: Seda kutsutakse objekti peal ja täidab lambda avaldist, mis antakse argumendina. Lambda sees on objekt kättesaadav kui this.
  2. Tulemusest tagasipöördumine: Tagastab viimase avaldise tulemuse lambdas.
  3. nullable-objektid: Sobib hästi nullable-objektidega töötamiseks, kuna kasutades turvalise väljakutse operaatorit ?., run plokk täidetakse ainult siis, kui objekt ei ole null.

Peamised omadused:

  • Resiver (this): Objekt, mille peal run kutsutakse, on lambda sees kättesaadav kui this.
  • Tagastatav väärtus: Viimase avaldise tulemus lambdas.

Kasutusnäited:

// Näide 1: koodi täitmine objekti peal ja tulemuse tagastamine
val length: Int = "mõni string".run {
    // 'this' siin viitab "mõni string"
    println("Stringi pikkus: ${this.length}")
    length // Tagastab stringi pikkuse
}
// Näide 2: nullable-objektiga töötamine
val nullableString: String? = "teine string"
val upperCaseString: String? = nullableString?.run {
    // Blokk täidetakse ainult siis, kui nullableString ei ole null
    toUpperCase() // Tagastab stringi suure tähega
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Blokk ei täideta, run?. tagastab null
    toUpperCase()
}
// Näide 3: objekti loomine ja seadistamine
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // Eeldades, et on Person klass
}