Code Demo · Rust · Iterator Pipeline
rust
By anonymousrust
#[derive(Debug)]
struct Reading {
sensor: &'static str,
value: f64,
}
fn main() {
let readings = vec![
Reading { sensor: "west", value: 21.5 },
Reading { sensor: "east", value: 18.0 },
Reading { sensor: "north", value: 24.2 },
];
let normalized: Vec<_> = readings
.iter()
.filter(|reading| reading.value >= 20.0)
.map(|reading| (reading.sensor, (reading.value * 10.0).round() / 10.0))
.collect();
println!("{:?}", normalized);
}511 characters21 lines< 1.5 KB