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:
- 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. - Tulemusest tagasipöördumine: Tagastab viimase avaldise tulemuse lambdas.
- nullable-objektid: Sobib hästi nullable-objektidega töötamiseks, kuna kasutades turvalise väljakutse operaatorit
?.,runplokk täidetakse ainult siis, kui objekt ei ole null.
Peamised omadused:
- Resiver (
this): Objekt, mille pealrunkutsutakse, on lambda sees kättesaadav kuithis. - 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
}