Метод replace класса Option
Метод replace заменяет значение внутри
Option на переданное значение и возвращает
старое значение в виде нового Option.
Параметром метод принимает новое значение,
которое нужно поместить внутрь Option.
Если Option содержал Some,
то возвращается Some со старым значением.
Если Option был None,
то возвращается None.
Синтаксис
option.replace(value)
Пример
Давайте заменим значение в Some на новое
и выведем старое значение:
fn main()
{
let mut opt = Some("abcde");
let old = opt.replace("12345");
println!("{:?}", old);
println!("{:?}", opt);
}
Результат выполнения кода:
Some("abcde")
Some("12345")
Пример
Давайте заменим значение в None на новое
и выведем старое значение:
fn main()
{
let mut opt: Option<&str> = None;
let old = opt.replace("abcde");
println!("{:?}", old);
println!("{:?}", opt);
}
Результат выполнения кода:
None
Some("abcde")
Пример
Давайте заменим число в Some на новое
и выведем старое значение:
fn main()
{
let mut opt = Some(1);
let old = opt.replace(2);
println!("{:?}", old);
println!("{:?}", opt);
}
Результат выполнения кода:
Some(1)
Some(2)