Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmOpUO 306 of 373 menu
◀ ▶

Метод unwrap_or в Rust

Иногда нужно получить обычное число, даже если внутри лежит пустота. У типа есть команда, которая отдает значение из заполненного варианта или подставляет запас, если данных нет. Запас пишут рядом в той же строке.

Если значения нет, подставляют запасное число:

let full = Some(7); let empty: Option<i32> = None; let a = full.unwrap_or(0); let b = empty.unwrap_or(0); println!("{}", a); println!("{}", b);

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

let item = Some(20); let n = item.unwrap_or(100); println!("{}", n);

Дана переменная:

let gap: Option<i32> = None;

Запишите число с запасом 5 в total и выведите total.

Дана переменная:

let item = Some(11);

Скажите, какое число вернет команда с запасом 99 для item.

Зачем нужен запас, если дальше по коду ждут обычное число, а не необязательное значение?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить