Rust ko‘rinish sohasi (scope)
Ko‘rinish sohasi (scope)
Endi funksiyalar qanday ishlashini tushundingiz, navbatdagi muhim mavzu - o‘zgaruvchilar funksiyalar ichida va tashqarisida o‘zini qanday tutishini o‘rganish.
Ko‘rinish sohasi (scope) o‘zgaruvchidan qayerda foydalanish mumkinligini bildiradi.
O‘zgaruvchi faqat u yaratilgan blok ichida yashaydi. Blok - bu jingalak qavslar { } ichidagi har qanday narsa.
Funksiya ichidagi o‘zgaruvchi
Funksiya ichida yaratilgan o‘zgaruvchi faqat o‘sha funksiya ichida mavjud bo‘ladi:
Misol
fn myFunction() {
let message = "Hello!";
println!("{}", message); // You can access the message variable here
}
myFunction();
println!("{}", message); // Error - you cannot access the message variable outside of the function
O‘zingiz sinab ko‘ring »
Eslatma: message o‘zgaruvchisi faqat funksiya ichida mavjud. Uni funksiyadan tashqarida ishlatishga urinish xatoga olib keladi.
Blok ichidagi o‘zgaruvchi
Bloklarni boshqa kod ichida ham yaratishingiz mumkin, masalan, if operatorlari yoki sikllar ichida. Bu bloklarda yaratilgan o‘zgaruvchilar faqat ularning ichida amal qiladi.
Misol
let score = 80;
if score > 50 {
let result = "Pass";
println!("Result: {}", result);
}
println!("Result: {}", result); // Error: result is out of scope here
O‘zingiz sinab ko‘ring »
Bir xil ko‘rinish sohasidagi o‘zgaruvchilar
Rustda let yordamida bir xil ko‘rinish sohasida xuddi shu nomli yangi o‘zgaruvchini e’lon qilish mumkin. Bu shadowing (soyalash) deb ataladi:
Ikkinchi x birinchisining o‘rnini egallaydi. Ikkinchi e’londan keyin 5 qiymatiga endi murojaat qilib bo‘lmaydi.
Bu o‘zgaruvchi nomlarini qayta ishlatishga ruxsat bermaydigan tillardan farq qiladi. Rustda bu qiymatlarni xavfsiz o‘zgartirish yoki yangilash uchun ishlatiladigan imkoniyatdir.
O‘zgaruvchi nomini yangi blok ichida ham qayta ishlatishingiz mumkin:
Misol
let x = 5;
{
let x = 10;
println!("Inside block: {}", x);
}
println!("Outside block: {}", x);
O‘zingiz sinab ko‘ring »
Bu yerda ikkala x o‘zgaruvchisi turli ko‘rinish sohalarida joylashgan. Ichki x faqat blok ichida mavjud. Blokdan tashqarida esa asl qiymat saqlanib qoladi.
Eslatma: Shadowing ruxsat etilgan bo‘lsa-da, bir xil nomni juda tez-tez ishlatish kodingizni o‘qishni qiyinlashtirishi mumkin. Imkon qadar tushunarli nomlardan foydalaning.
Ko‘rinish sohasi nega muhim
Ko‘rinish sohasini tushunish sizga quyidagilarda yordam beradi:
- O‘zgaruvchidan qayerda foydalanish mumkinligini bilish
- Nomlar to‘qnashuvining oldini olish
- Funksiyalar, sikllar va shartlar bilan ishlashda xatolardan qochish
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
