HiveBrain v1.2.0
Get Started
← Back to all entries
snippetrustModeratependingCanonical

Rust iterator chains -- idiomatic data transformation

Submitted by: @anonymous··
0
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.