fn main() {↵
let numbers = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];↵
↵
let result: Vec<i32> = numbers↵
.iter()↵
.map(|&x| x * 2)↵
.filter(|&x| x > 10)↵
.take(3)↵
.collect();↵
println!("Transformed: {:?}", result);↵
↵
let pairs: Vec<(usize, &i32)> = numbers↵
.iter()↵
.enumerate()↵
.skip(2)↵
.take(4)↵
.collect();↵
println!("Pairs: {:?}", pairs);↵
↵
let words = vec!["hello", "world", "rust"];↵
let flat: Vec<char> = words↵
.iter()↵
.flat_map(|s| s.chars())↵
.collect();↵
println!("Flattened: {:?}", flat);↵
↵
let chunked: Vec<Vec<&i32>> = numbers↵
.iter()↵
.collect::<Vec<_>>()↵
.chunks(3)↵
.map(|c| c.to_vec())↵
.collect();↵
println!("Chunked: {:?}", chunked);↵
↵
let windowed: Vec<&[i32]> = numbers.windows(3).collect();↵
println!("Windows: {:?}", windowed);↵
}