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

Метод map класса Option

Метод map применяет функцию к значению, содержащемуся внутри Some, и возвращает новый Option с преобразованным значением. Если исходный Option равен None, то метод возвращает None, не вызывая переданную функцию. Параметром метод принимает замыкание или функцию, которая получает значение типа T и возвращает значение типа U.

Синтаксис

Option::map(self, f)

Пример

Давайте преобразуем число внутри Some, умножив его на 2:

fn main() { let opt = Some(5); let res = opt.map(|x| x * 2); println!("{:?}", res); }

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

Some(10)

Пример

Давайте применим map к значению None и убедимся, что функция не вызывается:

fn main() { let opt: Option<i32> = None; let res = opt.map(|x| x * 2); println!("{:?}", res); }

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

None

Пример

Давайте преобразуем строку внутри Some в её длину:

fn main() { let opt = Some("abcde"); let res = opt.map(|s| s.len()); println!("{:?}", res); }

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

Some(5)

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

  • класс Option,
    который представляет необязательное значение
  • метод and_then,
    который применяет функцию, возвращающую Option
  • метод filter,
    который отбрасывает значение при ложном предикате
  • метод unwrap,
    который извлекает значение или паникует при None
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить