Sobes.tech
Junior

Co je to blok 'run' v Kotlinu a jak se používá?

sobes.tech AI

Odpověď od AI

Blok run v Kotlinu je vestavěná funkce rozšíření v Kotlin standardní knihovně. Používá se k:

  1. Spuštění bloku kódu na objektu: Volá se na objektu a vykonává lambda výraz poskytnutý jako argument. Uvnitř lambda je objekt dostupný jako this.
  2. Vrácení výsledku: Vrací výsledek posledního výrazu v lambda.
  3. Nullable objekty: Je užitečný při práci s nullable objekty, protože při použití operátoru bezpečného volání ?. bude blok run vykonán pouze pokud objekt není null.

Hlavní vlastnosti:

  • Příjemce (this): Objekt, na kterém je volán run, je uvnitř lambda dostupný jako this.
  • Výsledek: Výsledek posledního výrazu v lambda.

Příklady použití:

// Příklad 1: vykonání kódu na objektu a vrácení výsledku
val length: Int = "some string".run {
    // 'this' zde odkazuje na "some string"
    println("Délka řetězce: ${this.length}")
    length // Vrací délku řetězce
}
// Příklad 2: práce s nullable objektem
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
    // Blok se provede pouze pokud nullableString není null
    toUpperCase() // Vrací řetězec v horním registru
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Blok se neprovede, run?. vrátí null
    toUpperCase()
}
// Příklad 3: vytvoření a nastavení objektu
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // Předpokládá se, že třída Person existuje
}