Middle
Akých štandardných delegátov poznáte?
sobes.tech AI
Odpoveď od AI
by lazy— sa používa na odloženú inicializáciu vlastnosti. Hodnota sa vypočíta pri prvom prístupe k vlastnosti a je uložená v cache.val lazyValue: String by lazy { println("initialized") // Bude vykonané iba pri prvom prístupe "Hello" }Delegates.observable— delegát, ktorý umožňuje vykonať akciu pri každej zmene hodnoty vlastnosti.import kotlin.properties.Delegates var name: String by Delegates.observable("počiatočná hodnota") { prop, old, new -> println("Hodnota pre ${prop.name} sa zmenila z $old na $new") }Delegates.vetoable— delegát, ktorý umožňuje zachytiť zmenu hodnoty vlastnosti a zrušiť ju na základe podmienky.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Povolené sú iba nezáporné hodnoty }