typestar

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

  1. find devuelve Option<i32>: quizá nada.
  2. map y unwrap_or lo transforman o le dan un valor por defecto.
  3. if let Some(v) lo desenvuelve cuando está presente.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en Option; paso 1 de 15 en Manejo de errores.

Siguiente →