Middle
Кайсы стандарттык делегаттарды билесиз?
sobes.tech AI
AIден жооп
by lazy— колдонулат мүлктүн кечиктирилген башталышы үчүн. Баасы биринчи кайрылууда эсептелип, кэшке сакталат.val lazyValue: String by lazy { println("initialized") // Жана биринчи кайрылууда гана ишке ашат "Hello" }Delegates.observable— делегат, ал ар бир мүлк мааниси өзгөргөндө иш-аракетти аткарууга мүмкүндүк берет.import kotlin.properties.Delegates var name: String by Delegates.observable("баштапкы мааниси") { prop, old, new -> println("${prop.name} үчүн мааниси $oldдан $newга өзгөрдү") }Delegates.vetoable— делегат, ал мүлк маанисинин өзгөрүшүн кармап, шартка ылайык аны жокко чыгара алат.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Жана терс эмес маанилер гана уруксат берилет }