Menu
Coddy logo textTech

Dopasowywanie wielu wartości

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

Czasami trzeba dopasować kilka różnych wartości, które powinny wywołać ten sam kod. Zamiast pisać osobne ramiona dla każdej wartości, Rust pozwala połączyć wiele wzorców w jednym ramieniu za pomocą operatora | (LUB).

Oto, jak możesz dopasować wiele wartości w jednej gałęzi:

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 | działa jak „LUB” — jeśli wartość pasuje do któregokolwiek wzorca oddzielonego przez |, wykona się ta gałąź. Dzięki temu kod jest znacznie czytelniejszy niż w przypadku osobnych gałęzi, które robią to samo.

challenge icon

Wyzwanie

Łatwy

Otrzymasz numer dnia (1-7) jako dane wejściowe, reprezentujący dzień tygodnia. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i użyj wyrażenia match z operatorem |, aby wypisać, czy jest to dzień powszedni, czy weekend.

Wymagania:

  • Jeśli dzień to 1, 2, 3, 4 lub 5, wypisz "Weekday"
  • Jeśli dzień to 6 lub 7, wypisz "Weekend"
  • Dla każdej innej liczby wypisz "Invalid day"

Dane wejściowe: Pojedyncza liczba całkowita reprezentująca numer dnia

Wynik: Wypisz "Weekday", "Weekend" lub "Invalid day"

Spróbuj swoich sił

use std::io;

fn main() {
    // Wczytaj dane wejściowe
    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: Napisz poniżej kod, używając wyrażenia match z operatorem |
    
}
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