الإغلاقات (Closures)
دوال مجهولة تلتقط متغيّرات محيطها:
let add = |a, b| a + b;
println!("{}", add(2, 3)); // 5
let factor = 10;
let multiply = |x| x * factor; // يلتقط factor
println!("{}", multiply(5)); // 50
المكرّرات (Iterators)
let nums = vec![1, 2, 3, 4, 5];
let doubled: Vec<i32> = nums.iter()
.map(|x| x * 2)
.collect(); // [2,4,6,8,10]
let evens: Vec<&i32> = nums.iter()
.filter(|x| *x % 2 == 0)
.collect(); // [2,4]
let sum: i32 = nums.iter().sum();
دوال شائعة
map، filter، collect، sum، count، find، fold.
💡 المكرّرات في Rust "كسولة" وفعّالة جدًّا — لا تُنفَّذ حتى تستهلكها (مثل
collect).
🎯 التالي: الوحدات والحزم (Crates).