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)Tantangan
PemulaTulis 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;
}
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaOperator PerbandinganPerbandingan String7Input/Output Dasar
Menampilkan teks di konsolMembaca input penggunaUlasan: Hingga 120Ulasan: Benar atau Salah5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 311Fungsi
Mendeklarasikan FungsiParameter dan ArgumenNilai KembalianBeberapa Nilai KembalianRingkasan: Fungsi SigmaRingkasan: Fungsi Validasi14Iterasi pada Array
Panduan RangeFor Loop yang DisempurnakanBorrow dalam LoopOperasi Umum pada Array3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanInferensi TipeRangkuman: Inisialisasi VariabelKonversi Tipe9Perulangan
For untuk Menelusuri UrutanWhile LoopBreakContinueNested LoopLabel LoopInfinite LoopRingkasan: Input DinamisLatihan sendiri: Compiler Rust online