РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
598 of 1245 menu

Метод ok

Метод ok преобразует значение типа Result в значение типа Option. Если исходный результат содержит вариант Ok, метод возвращает Some с тем же значением. Если же исходный результат содержит вариант Err, метод возвращает None, полностью отбрасывая значение ошибки. Метод не принимает параметров и потребляет исходный результат.

Синтаксис

result.ok()

Пример

Давайте преобразуем результат Ok в опцию:

fn main() { let res: Result<i32, &str> = Ok(123); let opt = res.ok(); println!("{:?}", opt); }

Результат выполнения кода:

Some(123)

Пример

Давайте преобразуем результат Err в опцию:

fn main() { let res: Result<i32, &str> = Err("error"); let opt = res.ok(); println!("{:?}", opt); }

Результат выполнения кода:

None

Пример

Давайте используем метод ok вместе с unwrap_or, чтобы получить значение по умолчанию при ошибке:

fn main() { let res: Result<i32, &str> = Err("error"); let value = res.ok().unwrap_or(0); println!("{}", value); }

Результат выполнения кода:

0

Смотрите также

  • класс Result,
    который представляет результат операции с возможной ошибкой
  • метод err,
    который преобразует Result в Option со значением ошибки
  • метод is_ok,
    который проверяет, содержит ли Result вариант Ok
  • метод is_err,
    который проверяет, содержит ли Result вариант Err
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить