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.
Wyzwanie
ŁatwyOtrzymasz 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,4lub5, wypisz"Weekday" - Jeśli dzień to
6lub7, 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 |
}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
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online