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
filterconserva los elementos que coinciden;maplos transforma.collectreúne los resultados en unVec.sumreduce el iterador a un solo valor.
Palabras clave y builtins usados aquí
Vecfni32let
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.
Paso 1 de 5 en Adaptadores; paso 1 de 14 en Iteradores y closures.