в (условной) мапе будет такой ключ с таким типом, или нет. И в зависимости от этого получить null или эксепшен
val { foo : String? } = map // maybe foo
val { foo: Int } = map // foo int exists, or exception
Так это уже есть через делегаты. Чего изобретать-то?
Ну например так: val { foo: String, bar: Int } = map или вот так: val { foo: String, …rest: Map<K, V> } = map через делегаты не получится
получится. В две строки. Не понятно, что тут экономится
Нет, by map это get<T>, тут это еще и манипуляция с остатком map. Можно достать N значений, а остальное прокинуть ниже (в компонент например child)
Ну тоже не сложно сделать на уровне библиотеки, я правда не знаю, случая, где это реально надо было бы - именно отщеплять поля по одному
Я уже говорил, что я хочу его выкинуть? Это опять же нужно только в том случае, если мы все структуры разбираем путем прохода по ним. Мы почти никогда не делаем это в котлин, хотя сплошь и рядом делаем в JS (там других вариантов нет). В котлин мы обращаемся по имени поля. Это значит, что отщеплять ничего не надо
Обсуждают сегодня