snippetrustModeratependingCanonical
Rust iterator chains -- idiomatic data transformation
Viewed 0 times
iteratormapfiltercollectflat_mapfoldzero-cost
rust
Problem
Processing collections in Rust with manual loops is verbose. Need idiomatic patterns for filtering, mapping, and collecting.
Solution
Rust iterators are zero-cost abstractions. Chain methods for expressive, performant data pipelines.
Code Snippets
Iterator chains for data processing
let active_emails: Vec<String> = users
.iter()
.filter(|u| u.is_active)
.map(|u| u.email.to_lowercase())
.collect();
let all_tags: Vec<&str> = posts
.iter()
.flat_map(|post| post.tags.iter().map(String::as_str))
.collect();
let (passed, failed): (Vec<_>, Vec<_>) = results
.into_iter()
.partition(|r| r.score >= 70);
let increases = prices.windows(2).filter(|w| w[1] > w[0]).count();Revisions (0)
No revisions yet.