Abgleichen mehrerer Werte
Teil des Abschnitts Logik & Kontrollfluss der Rust-Journey von Coddy. Lektion 2 von 66.
Manchmal musst du mehrere verschiedene Werte abgleichen, die alle denselben Code auslösen sollen. Anstatt für jeden Wert einen eigenen Arm zu schreiben, kannst du in Rust mehrere Muster in einem einzigen Arm mithilfe des |-Operators (ODER) kombinieren.
So kannst du mehrere Werte in einem Arm abgleichen:
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"),
}Der |-Operator funktioniert wie „ODER“ im Englischen – wenn der Wert mit einem beliebigen der durch | getrennten Muster übereinstimmt, wird dieser Zweig ausgeführt. Dadurch wird dein Code wesentlich übersichtlicher, als wenn du separate Zweige hättest, die alle dasselbe tun.
Aufgabe
EinfachDu erhältst eine Tagesnummer (1–7) als Eingabe, die einen Wochentag repräsentiert. Lies die Eingabe ein, wandle sie in eine Ganzzahl um und verwende einen match-Ausdruck mit dem |-Operator, um auszugeben, ob es sich um einen Wochentag oder ein Wochenende handelt.
Anforderungen:
- Wenn der Tag
1,2,3,4oder5ist, gib"Weekday"aus. - Wenn der Tag
6oder7ist, gib"Weekend"aus. - Gib bei jeder anderen Zahl
"Invalid day"aus.
Eingabe: Eine einzelne Ganzzahl, die die Tagesnummer darstellt
Ausgabe: Gib entweder "Weekday", "Weekend" oder "Invalid day" aus.
Probier es selbst
use std::io;
fn main() {
// Eingabe lesen
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: Schreibe deinen Code darunter mit match-Ausdruck und | Operator
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler CodeÜbe selbstständig: Online-Rust-Compiler