Perulangan sebagai Ekspresi
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 5 dari 66.
Di sebagian besar bahasa pemrograman, perulangan adalah pernyataan yang menjalankan kode berulang kali. Namun, Rust memiliki fitur unik: perulangan juga dapat berupa ekspresi yang mengembalikan nilai. Artinya, kamu dapat menetapkan hasil perulangan ke sebuah variabel.
Untuk mengembalikan nilai dari perulangan, gunakan break diikuti nilai yang ingin kamu kembalikan:
let result = loop {
// periksa beberapa kondisi
if condition_met {
break 42; // keluar dari perulangan dan kembalikan 42
}
};Berikut contoh praktis yang mencari bilangan genap pertama mulai dari 10:
let mut counter = 10;
let first_even = loop {
if counter % 2 == 0 {
break counter; // kembalikan bilangan genap
}
counter += 1;
};
println!("First even number: {}", first_even);Perulangan berlanjut hingga menemukan bilangan genap, lalu menggunakan break counter untuk keluar dari perulangan dan mengembalikan bilangan tersebut. Nilai yang dikembalikan akan ditetapkan ke first_even.
Tantangan
MudahKamu akan menerima sebuah angka awal sebagai input. Baca input tersebut, ubah menjadi bilangan bulat, lalu gunakan perulangan sebagai ekspresi untuk menemukan angka pertama yang habis dibagi 7, dimulai dari angka tersebut.
Persyaratan:
- Gunakan ekspresi
loopyang mengembalikan nilai - Mulai pemeriksaan dari angka input
- Temukan angka pertama yang habis dibagi 7 (sisanya 0 saat dibagi 7)
- Gunakan
breakuntuk mengembalikan angka yang ditemukan dari perulangan - Cetak hasilnya
Input: Satu bilangan bulat yang mewakili angka awal
Output: Cetak angka pertama yang habis dibagi 7, dimulai dari angka input
Coba sendiri
use std::io;
fn main() {
// Baca input
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let start_number: i32 = input.trim().parse().expect("Invalid input");
// TODO: Tulis kodemu di bawah ini
// Gunakan ekspresi perulangan untuk menemukan bilangan pertama yang habis dibagi 7
// Cetak hasilnya
// println!("{}", result);
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online