У результата и некоторого значения появился метод с значением по умолчанию на случай отсутствия

07.06.2026

У обоих вариантов результата появился метод: он применяет преобразование к имеющемуся значению, а при отсутствии возвращает значение по умолчанию для типа результата.

Какая была запись

Нужно было развернуть в две строки: проверить, есть ли значение, и в зависимости от этого взять либо преобразованное, либо значение по умолчанию. Для коротких выражений это читается плохо — вторую часть приходится держать в голове до конца строки.

Чем метод лучше

Второй вариант требует одного типажа вместо двух вызовов и всегда даёт значение — то есть вызывающий код не раздваивается по ветке «есть или нет».

Требование одного типажа там, где раньше хватало двух строк, — это компромисс в пользу выразительности. Для случаев, где один из вариантов невозможен или неудобен, такой компромисс не подойдёт.

Оригинал

stabilize Result::map_or_default and Option::map_or_default

Упоминаний: 1 · Просмотров: 2