Option en Rust
Representar un valor que puede estar ausente.
fn find_even(items: &[i32]) -> Option<i32> {
items.iter().copied().find(|n| n % 2 == 0)
}
fn main() {
let nums = [1, 3, 4, 7];
let even = find_even(&nums);
let doubled = even.map(|n| n * 2).unwrap_or(0);
if let Some(v) = even {
println!("found {v}");
}
println!("{doubled}");
}
Cómo funciona
finddevuelveOption<i32>: quizá nada.mapyunwrap_orlo transforman o le dan un valor por defecto.if let Some(v)lo desenvuelve cuando está presente.
Palabras clave y builtins usados aquí
OptionSomefni32iflet
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 279
- Tokens
- 111
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 70 segundos.
Paso 1 de 3 en Option; paso 1 de 15 en Manejo de errores.