typestar

Preguntarle cosas a un iterador en Rust

Los métodos terminales que responden una pregunta en vez de construir una colección.

fn main() {
    let nums = [4, 8, 15, 16, 23, 42];

    println!("{}", nums.iter().any(|n| *n > 40));
    println!("{}", nums.iter().all(|n| n % 2 == 0));
    println!("{:?}", nums.iter().position(|n| *n == 15));
    println!("{:?}", nums.iter().find(|n| **n % 5 == 0));
    println!("{:?}", nums.iter().min_by_key(|n| (**n - 20).abs()));
    println!("{}", nums.iter().filter(|n| **n > 10).count());
    println!("{}", (1..=5).product::<i32>());
}

Cómo funciona

  1. any y all paran apenas se conoce la respuesta.
  2. position y find ubican la primera coincidencia.
  3. min_by_key, count y product reducen a un solo valor.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
416
Tokens
208
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 125 segundos.

Escribe este fragmento

Paso 1 de 3 en Operaciones terminales; paso 9 de 14 en Iteradores y closures.

← Anterior Siguiente →