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:
let condition = true;
let number = if condition { 5 } else { 6 }; // if/else as an expressionDö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:
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:
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:
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:
// 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:
let mut count = 0;
'outer: loop {
loop {
if count == 5 {
break 'outer; // Exits the outer loop directly
}
count += 1;
}
}Kendin dene
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.
İpucu göster
`let message = if number > 5 { 'greater' } else { 'smaler' };' yazın ve bunu `println!`'e iletin.
3 denemeden sonra çözüm mevcut
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.
İ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
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.
İ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