Mencocokkan Rentang
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 3 dari 66.
Saat kamu perlu memeriksa apakah suatu nilai berada dalam rentang angka tertentu, menulis arm terpisah untuk setiap nilai akan merepotkan. Ekspresi match Rust mendukung pola rentang yang memungkinkan kamu mencocokkan nilai dalam rentang berurutan menggunakan sintaks start..=end.
Operator ..= membuat rentang inklusif, artinya nilai awal dan akhir sama-sama termasuk dalam pencocokan. Berikut cara menggunakan rentang dalam arm match:
let temp = 22;
match temp {
..=0 => println!("Freezing"),
1..=15 => println!("Cold"),
_ => println!("Warm"),
}Dalam contoh ini, suhu 22 tidak cocok dengan dua rentang pertama, jadi akan masuk ke arm wildcard dan mencetak "Warm". Rentang 1..=15 mencakup 1 dan 15, jadi suhu apa pun dari 1 hingga 15 akan mencetak "Cold".
Tantangan
MudahKamu akan menerima usia sebagai input. Baca input, ubah menjadi bilangan bulat, lalu gunakan ekspresi match dengan pola rentang untuk mencetak kategori usia yang sesuai.
Persyaratan:
- Jika usianya
0..=12, cetak"Child" - Jika usianya
13..=19, cetak"Teenager" - Jika usianya
20..=64, cetak"Adult" - Jika usianya
65..=120, cetak"Senior" - Untuk usia lainnya, cetak
"Invalid age"
Input: Satu bilangan bulat yang menunjukkan usia
Output: Cetak kategori usia: "Child", "Teenager", "Adult", "Senior", atau "Invalid age"
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 age: i32 = input.trim().parse().expect("Please enter a valid number");
// TODO: Tulis kodemu di bawah ini menggunakan ekspresi match dengan pola rentang
// Cetak hasilnya
}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