typestar

Adaptadores de iteradores en Rust

Encadenar map, filter y collect sobre un iterador.

fn main() {
    let nums = vec![1, 2, 3, 4, 5, 6];

    let evens: Vec<i32> = nums
        .iter()
        .filter(|&&n| n % 2 == 0)
        .map(|&n| n * 10)
        .collect();

    let total: i32 = nums.iter().sum();
    println!("{evens:?} {total}");
}

Cómo funciona

  1. filter conserva los elementos que coinciden; map los transforma.
  2. collect reúne los resultados en un Vec.
  3. sum reduce el iterador a un solo valor.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
208
Tokens
90
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 1 de 5 en Adaptadores; paso 1 de 14 en Iteradores y closures.

Siguiente →