Döngüler: loop, while ve for ile Veri İşleme

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Top Poster Of Month
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18
Rust'ta döngüler, sadece kodu tekrar etmek için değil, aynı zamanda verileri güvenli ve performanslı bir şekilde işlemek için tasarlanmıştır. Rust'ın üç ana döngü mekanizması vardır: loop, while ve en yeteneklisi olan for.

1. loop: Sonsuz Döngü ve Değer Döndürme​

loop komutu, siz açıkça break diyene kadar kodu sonsuza dek çalıştırır. Rust'ta loop'un en benzersiz özelliği, bir expression (deyim) gibi davranıp döngü bittiğinde bir değer döndürebilmesidir.
Rust
Kod:
let mut sayac = 0;

let sonuc = loop {
    sayac += 1;

    if sayac == 10 {
        break sayac * 2; // Döngüden çık ve bu değeri 'sonuc'a ata
    }
};

println!("Sonuç: {}", sonuc); // Sonuç: 20

2. while: Koşullu Döngü​

Bir koşul true olduğu sürece çalışmaya devam eder. Genellikle bir sayacı kontrol etmek veya bir bayrak (flag) durumunu izlemek için kullanılır.
Rust
Kod:
let mut sayi = 3;

while sayi != 0 {
    println!("{}!", sayi);
    sayi -= 1;
}
println!("Ateşle!");

3. for: Güvenli ve Modern Veri İşleme​

Rust'ta en çok kullanılan döngü tipidir. Diziler veya aralıklar (ranges) üzerinde gezinmek için for kullanmak, while kullanmaktan çok daha güvenlidir çünkü "indis hatalarını" (out of bounds) ve sonsuz döngü risklerini ortadan kaldırır.

Aralıklar (Ranges) ile Kullanım:​

Rust
Kod:
// 1'den 3'e kadar (4 dahil değil)
for numara in 1..4 {
    println!("Sayı: {}", numara);
}

Koleksiyonlar (Arrays/Vectors) ile Kullanım:​

Bir koleksiyonun elemanlarını işlemek için for döngüsü iterator (tekrarlayıcı) mantığını kullanır.
Rust
Kod:
let meyveler = ["Elma", "Armut", "Muz"];

for meyve in meyveler {
    println!("Lezzetli bir {}", meyve);
}

4. Döngü Kontrolü: break ve continue

  • break: Döngüyü anında sonlandırır.
  • continue: Döngünün geri kalanını atlar ve bir sonraki tura geçer.

Döngü Etiketleri (Loop Labels)​

Rust'ta iç içe döngülerle çalışırken, hangi döngüden çıkacağınızı belirlemek için etiketleri kullanabilirsiniz. Bu, özellikle karmaşık algoritmalarda hayat kurtarır.
Rust
Kod:
'dis_dongu: loop {
    println!("Dış döngü");
    loop {
        println!("İç döngü");
        break 'dis_dongu; // Doğrudan en dıştaki döngüyü bitirir
    }
}

Özet: Hangisini Seçmeli?​

DöngüNe Zaman Kullanılmalı?
loopBir işlem başarılı olana kadar tekrar etmek veya döngüden bir sonuç döndürmek istediğinizde.
whileKarmaşık bir mantıksal koşula bağlı kalmanız gerektiğinde.
forBir dizi, liste veya belirli bir sayı aralığı üzerinde işlem yaparken (Varsayılan tercihiniz olmalı).
 
Geri
Üst