capypad
0 Tage Serie
rust / intermediate
Snippet

Funktionale Iterator-Adapter

Iteratoren in Rust sind 'lazy' (träge) und mächtig. 'filter' und 'map' ermöglichen Datentransformationen im funktionalen Stil ohne unnötige Zwischenspeicherungen.

snippet.rs
rust
1
2
3
4
5
let numbers = vec![1, 2, 3, 4, 5];
let doubled_evens: Vec<i32> = numbers.iter()
.filter(|&x| x % 2 == 0)
.map(|x| x * 2)
.collect();
Erklärung
1
.filter(|&x| x % 2 == 0)
Behält nur die Elemente, die die Bedingung erfüllen (gerade Zahlen).
2
.collect()
Wandelt den Iterator zurück in eine Kollektion wie ein Vec um.