Menu
CoddyTech

is_some() dan is_none()

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 37 dari 66.

Terkadang kamu perlu memeriksa apakah Option berisi nilai tanpa benar-benar mengambil nilai tersebut. Rust menyediakan dua method praktis untuk ini: .is_some() dan .is_none().

Kedua method mengembalikan nilai boolean, sehingga cocok digunakan dalam kondisi if:

let maybe_score = Some(85);

if maybe_score.is_some() {
    println!("We have a score!");
}

if maybe_score.is_none() {
    println!("No score available");
}

method .is_some() mengembalikan true jika Option berisi nilai Some, dan false jika nilainya None. method .is_none() bekerja dengan cara sebaliknya, method ini mengembalikan true untuk None dan false untuk Some.

challenge icon

Tantangan

Mudah

Kamu akan menerima sebuah angka sebagai input. Buat Option<i32> yang berisi Some(number) jika angkanya positif, atau None jika angkanya nol atau negatif. Gunakan .is_some() dan .is_none() untuk memeriksa Option dan mencetak pesan yang sesuai.

Persyaratan:

  • Baca input dan ubah menjadi i32
  • Buat variabel Option<i32>:
    • Jika angkanya positif (lebih besar dari 0), tetapkan Some(number)
    • Jika angkanya nol atau negatif, tetapkan None
  • Gunakan .is_some() untuk memeriksa apakah Option berisi nilai
  • Jika .is_some() mengembalikan true, cetak: Positive number detected
  • Gunakan .is_none() untuk memeriksa apakah Option kosong
  • Jika .is_none() mengembalikan true, cetak: No positive number

Input:

  • Satu bilangan bulat (misalnya, 42, 0, atau -5)

Output:

  • Jika angkanya positif: Positive number detected
  • Jika angkanya nol atau negatif: No positive number

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 number: i32 = input.trim().parse().expect("Invalid input");
    
    // TODO: Tulis kodemu di bawah ini
    // Buat Option<i32> berdasarkan apakah angkanya positif
    
    // Periksa apakah Option bernilai Some, lalu tampilkan pesan yang sesuai
    
}
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