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 // Танҳо арзишҳои манфӣ иҷозат дода мешаванд }