Menu
CoddyTech

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".

challenge icon

Tantangan

Mudah

Kamu 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
}
quiz iconUji dirimu

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

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online