Menu
Coddy logo textTech

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)
challenge icon

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;
        }
    }
}
quiz iconKendini test et

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