Метод take
Метод take извлекает значение из
Option, заменяя исходный вариант на
None. Он возвращает Some
с извлеченным значением, если оно было, или
None, если исходный вариант уже был
None. Метод не принимает параметров и
изменяет состояние исходного Option.
Синтаксис
option.take()
Пример
Давайте извлечем значение из Some
и проверим состояние исходной переменной:
fn main()
{
let mut opt = Some(123);
let res = opt.take();
println!("Result: {:?}", res);
println!("Original: {:?}", opt);
}
Результат выполнения кода:
Result: Some(123)
Original: None
Пример
Давайте применим метод take к
переменной, которая уже содержит None:
fn main()
{
let mut opt = None;
let res = opt.take();
println!("Result: {:?}", res);
}
Результат выполнения кода:
Result: None