У результата и некоторого значения появился метод с значением по умолчанию на случай отсутствия
07.06.2026У обоих вариантов результата появился метод: он применяет преобразование к имеющемуся значению, а при отсутствии возвращает значение по умолчанию для типа результата.
Какая была запись
Нужно было развернуть в две строки: проверить, есть ли значение, и в зависимости от этого взять либо преобразованное, либо значение по умолчанию. Для коротких выражений это читается плохо — вторую часть приходится держать в голове до конца строки.
Чем метод лучше
Второй вариант требует одного типажа вместо двух вызовов и всегда даёт значение — то есть вызывающий код не раздваивается по ветке «есть или нет».
Требование одного типажа там, где раньше хватало двух строк, — это компромисс в пользу выразительности. Для случаев, где один из вариантов невозможен или неудобен, такой компромисс не подойдёт.
Оригинал
stabilize Result::map_or_default and Option::map_or_default
Упоминаний: 1 · Просмотров: 2