Skip to content
เข้าสู่ระบบ

Iterator Structs

Iterator adapter และ helper structs

fn main() {
let v = vec![1, 2, 3, 4, 5];
// Map - transform each element
let mapped: Vec<_> = v.iter().map(|x| x * 2).collect();
println!("Map: {:?}", mapped);
// Filter - keep matching elements
let filtered: Vec<_> = v.iter().filter(|&&x| x > 2).collect();
println!("Filter: {:?}", filtered);
// FilterMap - filter and map combined
let filter_mapped: Vec<_> = v.iter()
.filter_map(|&x| if x > 2 { Some(x * 10) } else { None })
.collect();
println!("FilterMap: {:?}", filter_mapped);
// Take - first n elements
let taken: Vec<_> = v.iter().take(3).collect();
println!("Take 3: {:?}", taken);
// Skip - skip first n
let skipped: Vec<_> = v.iter().skip(2).collect();
println!("Skip 2: {:?}", skipped);
// TakeWhile / SkipWhile
let take_while: Vec<_> = v.iter().take_while(|&&x| x < 4).collect();
println!("TakeWhile < 4: {:?}", take_while);
// StepBy - every nth element
let stepped: Vec<_> = v.iter().step_by(2).collect();
println!("StepBy 2: {:?}", stepped);
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด