Menu
CoddyTech

Label Loop

Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 42 dari 75.

Label di Rust membantumu menghentikan atau melanjutkan perulangan tertentu saat perulangan tersebut bersarang. Tambahkan 'label: sebelum perulangan untuk memberinya label.

Contohnya:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i * j > 5 {
            break 'outer;
            // This will break the outer loop
        }
        println!("({}, {})", i, j);
    }
}

Dalam contoh ini, kita memiliki dua perulangan bersarang yang diberi label 'outer dan 'inner. Ketika hasil kali i dan j lebih besar dari 5, pernyataan break 'outer; dijalankan, yang mengakhiri perulangan luar. Output kode ini adalah:

(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)

Demikian pula, kamu dapat menggunakan continue 'label; untuk melanjutkan ke iterasi berikutnya dari perulangan yang ditentukan. Contohnya:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i == j {
            continue 'outer;
            // This will continue the outer loop
        }
        println!("({}, {})", i, j);
    }
}

Dalam kasus ini, saat i sama dengan j, pernyataan continue 'outer; dijalankan, yang melewati sisa perulangan dalam dan melanjutkan ke iterasi berikutnya dari perulangan luar. Outputnya adalah:

(2, 1)
(3, 1)
(3, 2)
challenge icon

Tantangan

Pemula

Tulis program Rust yang menggunakan perulangan berlabel untuk menemukan pasangan angka pertama (i, j) yang jumlahnya lebih besar dari 10 dan hasil kalinya merupakan kelipatan 12 (hasil kali tersebut dapat dibagi 12 tanpa sisa).  Program harus melakukan iterasi pada i dari 1 hingga 20 dan j dari 1 hingga 20.

Ketika menemukan pasangan tersebut, cetak dengan format (i, j) dan keluar dari perulangan luar.

Coba sendiri

fn main() {
    'outer: for i in 1..=20 {
        for j in 1..=20 {
            // Your logic here
            
            
            break 'outer;
        }
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Rust online