Middle
Qaysi standart delegatlarni bilasiz?
sobes.tech AI
AIdan javob
by lazy— xususiyatning kechiktirilgan boshlanishi uchun ishlatiladi. Qiymat birinchi murojaatdan so'ng hisoblanadi va keshga olinadi.val lazyValue: String by lazy { println("initialized") // Faqat birinchi murojaatda bajariladi "Hello" }Delegates.observable— har bir xususiyat o'zgarishida amal bajarishga imkon beradigan delegat.import kotlin.properties.Delegates var name: String by Delegates.observable("initial value") { prop, old, new -> println("${prop.name} uchun qiymat $old dan $new ga o'zgardi") }Delegates.vetoable— xususiyat qiymatini o'zgartirishni ushlab turadigan va shartga asoslangan holda rad etadigan delegat.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Faqat manfiy bo'lmagan qiymatlar ruxsat etiladi }