так и not null. Это можно определить по типу. Значения значени из мапы, если его там нет то из фектори лямбды, если она установлена, или вернуть null.
Проблема в том что map.get() вернет V?, а нужно V
Как обойти ? Только кастом ?
getValue() не сгодится?
Он же ексепшин кинет
Тогда я не понял, что надо. Если нужен не эксепшен а дефолт, то надо делать два разных делегата. Сейчас найду реализацию. Момент
Вот они рядышком: https://github.com/mipt-npm/dataforge-core/blob/11143e4ba1c2a7e7f4a0059cdf8e62d0b4de9269/dataforge-meta/src/commonMain/kotlin/space/kscience/dataforge/meta/MetaDelegate.kt#L40-L55
Вот хотелось одним обойтись. Суть такая что мне нужно просто доставать значения из мапы, если оно нулл - то ок. У меня там get и set Но есть место где вместо сета нужно использовать фабрику. Код там одинаковой, просто в случае с фабрикой не нужен сет. Наверное вы правы и проще сделать два. Хотелось что бы был один метод, но появилась идея как сделать. Спасибо
Там у меня в одной из версий был полиморфизм по возвращаемому типу, но по-моему мне не удалось сделать так, чтобы он выводился
Обсуждают сегодня