AnyCompiler

Vectors

Ek Vec<T> same type ki values ki ek growable list hai, jo heap par allocate hoti hai. vec! macro initial values ke sath ek banane ka aam tareeqa hai.

fn main() {
    let numbers = vec![1, 2, 3, 4, 5];
    println!("{:?}", numbers);

    let sum: i32 = numbers.iter().sum();
    println!("sum = {}", sum);
}
Output
[1, 2, 3, 4, 5]
sum = 15

Ek vector ko grow aur shrink karna

push ek item ko aakhir mein add karta hai; remove index se ek item ko bahar nikalta hai aur use wapas karta hai, uske baad ki har cheez ko neeche shift karte hue. Dono ke liye vector ka khud mutable hona zaroori hai.

fn main() {
    let mut fruits = vec!["apple", "banana", "cherry"];
    fruits.push("date");
    println!("{:?}", fruits);

    let first = fruits.remove(0);
    println!("removed: {}", first);
    println!("{:?}", fruits);
}
Output
["apple", "banana", "cherry", "date"]
removed: apple
["banana", "cherry", "date"]

Aage: iterators aur closures — ek manual loop likhe baghair collection ko transform karna.

Practice Exercise

Ek vector numbers: Vec<i32> = vec![4, 8, 15, 16] diya gaya hai, .iter().max() istemal kar ke sab se bari value dhoondein aur use print karein (yeh ek Option<&i32> wapas karta hai, isliye use unwrap karein).