Expand description
Conditionally take a value out of an option.
This crate adds a take_if extension method to Option which conditionally
takes the value out of an option, leaving None in its place if the value was
taken. The predicate function is only called if the option is Some, and
receives a reference to the option’s contents.
If you don’t need to take the value conditionally, i.e. you always need to take
the value, use Option::take instead.
§Examples
use take_if::TakeIf;
let mut maybe_greeting = Some("Hello, World!");
if let Some(greeting) = maybe_greeting.take_if(|greeting| greeting.starts_with("Hello")) {
println!(r#"Greeting {:?} starts with "Hello""#, greeting);
} else {
println!(r#"There was no greeting, or it didn't start with "Hello""#);
}Traits§
- TakeIf
- Extension trait for
Option<T>that adds thetake_ifmethod.