Menu
Coddy logo textTech

Wyrażenie „if let”

Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 4 z 66.

Czasami musisz sprawdzić tylko jeden konkretny wzorzec i nie interesują Cię wszystkie pozostałe możliwości. Zapisanie pełnego wyrażenia match z tylko jednym znaczącym ramieniem i wychwytującym wszystko _ może wydawać się rozwlekłe. Rust udostępnia if let jako zwięźlejszą alternatywę w takich sytuacjach.

Wyrażenie if let pozwala połączyć dopasowywanie do wzorca z logiką warunkową w jednym, czytelnym wyrażeniu. Oto podstawowa składnia:

if let pattern = value {
    // kod do wykonania, jeśli pattern pasuje
}

Na przykład, zamiast pisać match z tylko jednym użytecznym ramieniem:

let number = 5;

match number {
    5 => println!("Found five!"),
    _ => (), // nie rób nic dla innych wartości
}

Możesz użyć if let, aby kod był czytelniejszy:

let number = 5;

if let 5 = number {
    println!("Found five!");
}

Wyrażenie if let wykonuje blok kodu tylko wtedy, gdy wzorzec pasuje. Jeśli nie pasuje, nic się nie dzieje — nie trzeba jawnie definiować przypadku „else”, chyba że chcesz.

challenge icon

Wyzwanie

Łatwy

Otrzymasz liczbę jako dane wejściowe. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i użyj wyrażenia if let, aby sprawdzić, czy liczba wynosi dokładnie 42. Jeśli tak, wypisz "The answer!". Jeśli nie, nic nie wypisuj.

Wymagania:

  • Użyj wyrażenia if let, aby sprawdzić, czy liczba jest równa 42
  • Jeśli liczba wynosi 42, wypisz "The answer!"
  • Jeśli liczba jest inna, nic nie wypisuj

Dane wejściowe: Jedna liczba całkowita

Dane wyjściowe: Wypisz "The answer!", jeśli liczba wynosi 42, w przeciwnym razie nic nie wypisuj

Spróbuj swoich sił

use std::io;

fn main() {
    // Odczytaj dane wejściowe
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let number: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Napisz swój kod poniżej
    // Użyj if let, aby sprawdzić, czy number jest równe 42
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Rust online