Mencocokkan Beberapa Nilai
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 2 dari 66.
Terkadang kamu perlu mencocokkan beberapa nilai berbeda yang semuanya harus menjalankan kode yang sama. Alih-alih menulis arm terpisah untuk setiap nilai, Rust memungkinkanmu menggabungkan beberapa pola dalam satu arm menggunakan operator | (OR).
Berikut cara mencocokkan beberapa nilai dalam satu arm:
let month = 12;
match month {
12 | 1 | 2 => println!("Winter"),
3 | 4 | 5 => println!("Spring"),
6 | 7 | 8 => println!("Summer"),
9 | 10 | 11 => println!("Fall"),
_ => println!("Invalid month"),
}Operator | bekerja seperti "ATAU" dalam bahasa Indonesia: jika nilainya cocok dengan pola mana pun yang dipisahkan oleh |, cabang tersebut akan dijalankan. Ini membuat kodemu jauh lebih rapi daripada memiliki cabang terpisah yang semuanya melakukan hal yang sama.
Tantangan
MudahKamu akan menerima nomor hari (1-7) sebagai input yang mewakili hari dalam seminggu. Baca input, ubah menjadi bilangan bulat, lalu gunakan ekspresi match dengan operator | untuk mencetak apakah hari tersebut adalah hari kerja atau akhir pekan.
Persyaratan:
- Jika hari tersebut adalah
1,2,3,4, atau5, cetak"Weekday" - Jika hari tersebut adalah
6atau7, cetak"Weekend" - Untuk angka lainnya, cetak
"Invalid day"
Input: Satu bilangan bulat yang mewakili nomor hari
Output: Cetak "Weekday", "Weekend", atau "Invalid day"
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 day: i32 = input.trim().parse().expect("Please enter a number");
// TODO: Tulis kodemu di bawah menggunakan ekspresi match dengan operator |
}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