Rust massivlar
Massivlar
Massivlar har bir qiymat uchun alohida o‘zgaruvchi e’lon qilish o‘rniga, bir nechta qiymatni bitta o‘zgaruvchida saqlash uchun ishlatiladi.
Massiv yaratish
Massivni kvadrat qavslar [ ] yordamida yaratishingiz va qiymatlarni vergul bilan ajratishingiz mumkin.
Eslatma: Barcha qiymatlar bir xil ma’lumot tipida ekanligiga ishonch hosil qiling (quyidagi misolda butun sonlar):
Misol
let numbers = [1, 2, 3, 4, 5];
Bu beshta butun sondan iborat massiv yaratadi.
Massiv elementlariga murojaat qilish
Massiv elementiga murojaat qilish uchun uning indeks raqamini ko‘rsating.
Massiv indekslari 0 dan boshlanadi: [0] birinchi element. [1] ikkinchi element va hokazo.
Ushbu operator (ko‘rsatma) numbers massividagi birinchi element [0] qiymatiga murojaat qiladi:
Misol
let numbers = [1, 2, 3, 4, 5];
println!("The first number is: {}", numbers[0]);
O‘zingiz sinab ko‘ring »
Massiv qiymatlarini o‘zgartirish
Muayyan element qiymatini o‘zgartirish uchun indeks raqamini ko‘rsating va yangi qiymat tayinlang.
Massivni o‘zgaruvchan (mutable) qilishni unutmang (mut kalit so‘zi yordamida):
Misol
let mut numbers = [1, 2, 3, 4, 5];
numbers[0] = 10;
println!("The new first number is: {}", numbers[0]);
O‘zingiz sinab ko‘ring »
Massiv uzunligi
.len() metodi yordamida massivdagi elementlar sonini olishingiz mumkin:
Misol
let numbers = [1, 2, 3, 4, 5];
println!("This array has {} elements.", numbers.len());
O‘zingiz sinab ko‘ring »
Massiv bo‘ylab sikl
for sikli yordamida massiv elementlarini aylanib chiqishingiz mumkin.
Misol
let fruits = ["apple", "banana", "orange"];
for fruit in fruits {
println!("I like {}.", fruit);
}
O‘zingiz sinab ko‘ring »
Butun massivni chiqarish
Eslatma: Butun massivni chiqarishda println! ichida {:?} ishlatishingiz kerak:
Agar massivdan faqat bitta elementni chiqarayotgan bo‘lsangiz, {} ishlatishingiz mumkin.
Xulosa qilib aytganda:
Massivdan bitta elementni chiqarayotganda {} ishlating.
Butun massivni chiqarayotganda {:?} ishlating.
Agar nima uchun sikl ichida (ushbu sahifadagi oldingi misolda) {:?} ishlatmaganimizga hayron bo‘layotgan bo‘lsangiz, buning sababi shundaki, siklda siz massivdagi har bir qiymatni alohida chiqarasiz. Har bir qiymat string bo‘lgani uchun {} ishlaydi. Lekin butun massivni chiqarish uchun {:?} ishlatishingiz kerak.
Yaxshi qoida shunday: stringlar, sonlar va boolean qiymatlar kabi oddiy tiplar uchun {}, massivlar va vektorlar kabi ma’lumotlar tuzilmalari uchun esa - butun tuzilmani chiqarayotganda - {:?} ishlating.
Qat’iy o‘lcham (massivlar) va dinamik o‘lcham (vektorlar)
Rustda massivlar haqida gap ketganda qat’iy o‘lcham (fixed size) va dinamik o‘lcham (dynamic size) atamalarini tez-tez eshitasiz.
Buning sababi Rustdagi massivlar qat’iy o‘lchamga ega, ya’ni massiv yaratilgandan so‘ng unga element qo‘shib yoki undan element olib tashlab bo‘lmaydi:
Misol
// An array with 3 elements
let mut cars = ["Volvo", "BMW", "Ford"];
// Trying to add another element (a fourth element) to the cars array will result in an error
cars[3] = "Mazda"; // Error: index out of bounds
O‘zingiz sinab ko‘ring »
Vektorlar - dinamik o‘lchamga misol
Massiv elementlarini qo‘shish va olib tashlashni talab qiladigan amallar uchun o‘lchamini o‘zgartirish mumkin bo‘lgan massivlar - vektorlardan foydalanishingiz mumkin.
Vektorning o‘lchami dinamik, ya’ni u kerak bo‘lganda kattalashishi va kichrayishi mumkin.
Vektor yaratish uchun vec! makrosidan foydalanishingiz mumkin:
Misol
// A vector with 3 elements
let mut cars = vec!["Volvo", "BMW", "Ford"];
// Add another element
cars.push("Mazda");
println!("{:?}", cars); // ["Volvo", "BMW", "Ford", "Mazda"]
O‘zingiz sinab ko‘ring »
Bu vektorlar bilan qisqacha tanishuv edi. Ular haqida keyingi bobda batafsil bilib olasiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
