CodeBlanks Logo Icon CodeBlanks

loop

loop ile sonsuz döngü ve break ile çıkma yöntemini öğrenirsin.

loop

loop açıkça break edilene kadar sonsuza dek döner. break bir değer döndürebilir; continue turun geri kalanını atlar:

let mut n = 0;
let sonuc = loop {
    n += 1;
    if n % 2 == 0 {
        continue;
    }
    if n > 7 {
        break n * 10;
    }
};
println!("{sonuc}");  // 90

Etiketli döngüler

Etiketler tek tırnakla başlar:

'dis: for i in 1..=3 {
    for j in 1..=3 {
        if i * j == 4 {
            println!("bulundu: {i} x {j}");
            break 'dis;
        }
    }
}

Yeniden deneme mantığında loop sık kullanılır: başarılı olunca break, değilse tekrar dene.

Uygulama İlk ortak kat

loop kullanarak 4'e ve 6'ya tam bölünen ilk pozitif sayıyı bul: let mut n = 0; ile başla, her turda n += 1 yap ve koşul sağlanınca break n ile değeri döndür. Sonucu yazdır.

Başlangıç kodu

main.rs
fn main() {
    // buraya yaz
}

Örnek çözüm

main.rs
fn main() {
    let mut n = 0;
    let sonuc = loop {
        n += 1;
        if n % 4 == 0 && n % 6 == 0 {
            break n;
        }
    };
    println!("{}", sonuc);
}

Beklenen çıktı

12

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 İç içe döngülerde dıştaki döngüden çıkmak için ne kullanılır?

  • break break;
  • return her zaman
  • exit()
  • Etiketli break: break 'dis; Doğru cevap

Açıklama: Döngüye 'ad: biçiminde etiket verilir ve break 'ad; ile o döngü bitirilir; continue 'ad; da kullanılabilir.

2 Değerle çık

Soru
let ilk = loop {
    n += 7;
    if n % 5 == 0 {
        break ____;
    }
};
Cevap
let ilk = loop {
    n += 7;
    if n % 5 == 0 {
        break n;
    }
};

Açıklama: break ifadesinden sonra yazılan değer loop ifadesinin değeri olur.

3 Komut ve etkisi

Kavram Anlamı
loop Sonsuz döngü
break x Değerle çıkar
continue Sonraki tur
break 'dis Dış döngüden çıkar

Başlangıç bölümündeki tüm dersler

16 Proje: Yapılacaklar listesi

  1. Görev modeli
  2. Ekleme
  3. Listeleme
  4. İşaretleme
  5. Komut okuma