fn main() {
let numbers = vec![1, 2, 3, 4, 5, 6];
let even_squares: Vec<i32> = numbers
.into_iter()
.filter_map(|x| {
if x % 2 == 0 {
Some(x * x) // Map even numbers to their squares
} else {
None // Filter out odd numbers
}
})
.collect();
println!("{:?}", even_squares);
}
/*
run:
[4, 16, 36]
*/