Middle
Kokius standartinius delegatus žinote?
sobes.tech AI
Atsakymas iš AI
by lazy— naudojama vėluojamai savybės inicializacijai. Vertė apskaičiuojama pirmą kartą kreipiantis į savybę ir saugoma talpykloje.val lazyValue: String by lazy { println("initialized") // Bus vykdoma tik pirmą kartą kreipiantis "Hello" }Delegates.observable— delegatas, leidžiantis vykdyti veiksmą kiekvieną kartą keičiant savybės reikšmę.import kotlin.properties.Delegates var name: String by Delegates.observable("pradinė reikšmė") { prop, old, new -> println("${prop.name} reikšmė pasikeitė iš $old į $new") }Delegates.vetoable— delegatas, leidžiantis perimti savybės reikšmės keitimą ir jį atšaukti pagal tam tikrą sąlygą.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Leidžiamos tik neigiamai reikšmės }