Döngü Etiketleri
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 42 / 75.
Rust'taki etiketler, iç içe geçmiş döngülerde belirli döngüleri kırmanıza (break) veya devam ettirmenize (continue) yardımcı olur. Bir döngüyü etiketlemek için döngüden önce 'label: ekleyin.
Örneğin:
'outer: for i in 1..=3 {
'inner: for j in 1..=3 {
if i * j > 5 {
break 'outer;
// Bu, dış döngüyü kıracaktır
}
println!("({}, {})", i, j);
}
}
Bu örnekte, 'outer ve 'inner olarak etiketlenmiş iki iç içe döngümüz var. i ve j çarpımı 5'ten büyük olduğunda, dış döngüden çıkan break 'outer; ifadesi yürütülür. Bu kodun çıktısı şöyle olacaktır:
(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)Benzer şekilde, belirtilen döngünün bir sonraki yinelemesine devam etmek için continue 'label; kullanabilirsiniz. Örneğin:
'outer: for i in 1..=3 {
'inner: for j in 1..=3 {
if i == j {
continue 'outer;
// Bu, dış döngüye devam edecektir
}
println!("({}, {})", i, j);
}
}Bu durumda, i, j'ye eşit olduğunda, continue 'outer; ifadesi yürütülür; bu da iç döngünün geri kalanını atlar ve dış döngünün bir sonraki yinelemesiyle devam eder. Çıktı şu şekilde olacaktır:
(2, 1)
(3, 1)
(3, 2)Görev
BaşlangıçToplamları 10'dan büyük ve çarpımları 12'nin katı (çarpım 12'ye kalansız bölünür) olan ilk (i, j) sayı çiftini bulmak için etiketli döngüler (labeled loops) kullanan bir Rust programı yazın. Program, 1'den 20'ye kadar i ve 1'den 20'ye kadar j değerleri arasında döngü kurmalıdır.
Çifti bulduğunuzda, bunu (i, j) formatında yazdırın ve dış döngüden çıkın.
Kopya kağıdı
Rust'taki etiketler (labels), iç içe geçmiş döngülerde belirli döngüleri kırmanıza (break) veya devam ettirmenize (continue) yardımcı olur. Bir döngüyü etiketlemek için döngüden önce 'label: ekleyin.
Belirli bir etiketli döngüden çıkmak için break 'label; kullanın:
'outer: for i in 1..=3 {
'inner: for j in 1..=3 {
if i * j > 5 {
break 'outer; // Dış döngüyü kırar
}
println!("({}, {})", i, j);
}
}Belirli bir etiketli döngünün bir sonraki yinelemesine devam etmek için continue 'label; kullanın:
'outer: for i in 1..=3 {
'inner: for j in 1..=3 {
if i == j {
continue 'outer; // Dış döngüye devam eder
}
println!("({}, {})", i, j);
}
}Kendin dene
fn main() {
'outer: for i in 1..=20 {
for j in 1..=20 {
// Your logic here
break 'outer;
}
}
}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