Выбор ответа Junior Делегаты обновлено
Delegates.observable
Вопрос
Когда вызывается обработчик Delegates.observable(initial) { prop, old, new -> }?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: После каждого присваивания, со старым и новым значением. observable вызывает обработчик после каждого присваивания, даже если значение то же самое.
Варианты ответа
- После каждого присваивания, со старым и новым значениемправильный ответ
- Только при первом чтении свойства, как у lazy
- До присваивания, и обработчик может его отменить
- Только если новое значение отличается от старого
Разбор
observable вызывает обработчик после каждого присваивания, даже если значение то же самое. Отменить присваивание умеет vetoable: его лямбда вызывается до изменения и возвращает Boolean. Ленивость при первом чтении это lazy.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.