Ana içeriğe geç
Modül 2 · Ders 1 ders 2Kurstaki 3/14~12 min
Modül dersleri (1/2)

Koşul Cümleleri ve Döngüler

Rust'taki kontrol akışı iki ana yapı etrafında döner: hangi yürütme yolunun seçileceğine karar veren koşullu ifadeler ve talimatların tekrarlanması için döngü yapıları.

Koşul Cümleleri: İfade olarak if

Rust'ta if ifadesi bir ifadedir, yani bir değer döndürmektedir. Bir değişkene doğrudan değer atamak için if kullanabiliriz:

Rust
let condition = true;
let number = if condition { 5 } else { 6 }; // if/else as an expression

Döngüler ve Yinelemeler

Rust üç tür yerel döngü sağlar: loop, while ve for.

1. loop (Sonsuz Döngü)

loop anahtar sözcüğü, siz ona break kullanmayı bırakmasını açıkça söyleyene kadar devam eden sonsuz bir döngü oluşturur:

Rust
let mut count = 0;
loop {
    count += 1;
    if count == 10 {
        break; // Exit the loop
    }
}

Ek olarak, loop öğesini break öğesinin hemen sonrasına yerleştirerek bir değer döndürebilirsiniz:

Rust
let result = loop {
    count += 1;
    if count == 10 {
        break count * 2; // Returns 20
    }
};

2. while (Koşullu Döngü)

Bir boole koşulu doğru kaldığı sürece bir kod bloğunu çalıştırır:

Rust
let mut number = 3;
while number != 0 {
    println!("{}!", number);
    number -= 1;
}

3. for (Koleksiyonlar ve Aralıklar Üzerinde Yineleme)

for döngüsü, bir koleksiyondaki veya bir sayı aralığındaki öğeler üzerinde yineleme yapmak için en yaygın ve en güvenli araçtır:

Rust
// Iterates over numbers 1 through 3 (excluding 4)
for number in 1..4 {
    println!("Valore: {}", number);
}

// Iterates including the right boundary using '='
for number in 1..=3 {
    println!("Valore: {}", number); // Prints 1, 2 and 3
}

Döngü Etiketleri

İç içe geçmiş döngülerle uğraşırken, break ve continue ifadeleri varsayılan olarak en içteki döngüye uygulanır. Rust, bir dış döngüyü açıkça sonlandırmak veya devam ettirmek için bir döngü etiketi ('label_name: olarak yazılır) kullanmanıza olanak tanır:

Rust
let mut count = 0;
'outer: loop {
    loop {
        if count == 5 {
            break 'outer; // Exits the outer loop directly
        }
        count += 1;
    }
}

Kendin dene

Egzersiz#rust.m2.l1.e1
Denemeler: 0Yükleniyor…

Sayı adı verilen ve değeri 7 olan bir değişken bildirin. Ardından, sayı 5'ten büyükse 'büyük' ​​değerini veya değilse 'küçük' değerini atamak için if/else ifadesini kullanın. Son olarak mesajı println! kullanarak yazdırın.

Düzenleyici yükleniyor…
İpucu göster

`let message = if number > 5 { 'greater' } else { 'smaler' };' yazın ve bunu `println!`'e iletin.

3 denemeden sonra çözüm mevcut

Egzersiz#rust.m2.l1.e2
Denemeler: 0Yükleniyor…

println kullanarak 1'den 5'e kadar olan sayıları (örn. 1, 2, 3, 4, 5) yazdıran bir for döngüsü yazın! her yinelemede.

Düzenleyici yükleniyor…
İpucu göster

Kapsamlı aralık sözdizimini kullanın `for i in 1..=5` ve bloğun içinde `println!('{}', i);` komutunu çalıştırın.

3 denemeden sonra çözüm mevcut

Egzersiz#rust.m2.l1.e3
Denemeler: 0Yükleniyor…

Değişken bir değişken sayacını 0'dan başlayarak artıran bir döngü yazın. Sayaç 10'a ulaştığında, bu değeri değişmez bir değişken sonucuna atamak için break ifadesini kullanarak sayaç 5 ile çarpılarak döngüden çıkın. Son olarak sonucu yazdırın.

Düzenleyici yükleniyor…
İpucu göster

'let result = loop { ... };' kullanın. Döngünün içinde `sayacı' artırın ve `if counter == 10 { break counter * 5; koşulunu ekleyin. }`.

3 denemeden sonra çözüm mevcut