Gölgeleme Bölüm 2
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 48 / 75.
Rust'ta bir değişkeni gölgelediğinizde (shadowing), yeni değişken orijinalinden tamamen bağımsızdır ve kendi mutability (değişebilirlik) bildirimine ihtiyaç duyar. Gölgeleme, orijinal değişkenin mutability özelliğini devralmaz.
let mut mut_val = 7;
// Orijinal değişken değiştirilebilirdir (mutable)
{
let mut_val = 8;
// Bu, dıştaki mut_val'ı gölgeleyen (shadowing) yeni bir değişkendir
mut_val = 50;
// Bir hata oluştu çünkü
// mut_val değiştirilebilir (mutable) değildir
}
// Burada sorun yok
// mut_val bu kapsamda (scope) dondurulmuş değildir
mut_val = 3;Bunu düzeltmek için iç kapsama mut ekleyebiliriz:
{
let mut mut_val = 8;
mut_val = 50;
}Görev
BaşlangıçVerilen kodu, hata vermeden çalışacak şekilde düzeltin.
Kopya kağıdı
Rust'ta bir değişkeni gölgelediğinizde (shadowing), yeni değişken tamamen bağımsızdır ve kendi değiştirilebilirlik (mutability) bildirimine ihtiyaç duyar. Gölgeleme, orijinal değişkenden değiştirilebilirliği miras almaz.
let mut mut_val = 7;
// Orijinal değişken değiştirilebilirdir
{
let mut_val = 8;
// Bu, dıştaki mut_val'ı gölgeler ancak sabittir (immutable)
mut_val = 50;
// Hata: mut_val bu kapsamda değiştirilebilir değildir
}Bunu düzeltmek için, gölgeleyen değişkene mut ekleyin:
{
let mut mut_val = 8;
mut_val = 50; // Artık bu çalışır
}Kendin dene
fn main() {
// Bu kodu çalışması için düzeltin
let number = 42;
{
let number = number;
println!("number is {}", number);
number = 100; // Bu bir hataya neden olacak
println!("number is {}", number);
}
println!("number is {}", number);
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi