Menu
Coddy logo textTech

Bereiche abgleichen

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 3 von 66.

Wenn Sie prüfen müssen, ob ein Wert in einen bestimmten Zahlenbereich fällt, wäre es mühsam, für jeden einzelnen Wert separate Zweige zu schreiben. Rusts match-Ausdruck unterstützt Bereichsmuster, mit denen Sie gegen eine kontinuierliche Spanne von Werten unter Verwendung der start..=end-Syntax abgleichen können.

Der ..=-Operator erstellt einen inklusiven Bereich, was bedeutet, dass sowohl der Start- als auch der Endwert in die Übereinstimmung einbezogen werden. So können Sie Bereiche in Match-Armen verwenden:

let temp = 22;

match temp {
    ..=0 => println!("Freezing"),
    1..=15 => println!("Cold"),
    _ => println!("Warm"),
}

In diesem Beispiel würde eine Temperatur von 22 nicht mit den ersten beiden Bereichen übereinstimmen, sodass sie auf den Wildcard-Zweig durchfällt und „Warm“ ausgibt. Der Bereich 1..=15 schließt sowohl 1 als auch 15 ein, sodass jede Temperatur von 1 bis 15 „Cold“ ausgeben würde.

challenge icon

Aufgabe

Einfach

Sie erhalten ein Alter als Eingabe. Lesen Sie die Eingabe, konvertieren Sie sie in eine Ganzzahl und verwenden Sie einen match-Ausdruck mit Bereichsmustern, um die entsprechende Alterskategorie auszugeben.

Anforderungen:

  • Wenn das Alter 0..=12 ist, geben Sie "Child" aus
  • Wenn das Alter 13..=19 ist, geben Sie "Teenager" aus
  • Wenn das Alter 20..=64 ist, geben Sie "Adult" aus
  • Wenn das Alter 65..=120 ist, geben Sie "Senior" aus
  • Für jedes andere Alter geben Sie "Invalid age" aus

Eingabe: Eine einzelne Ganzzahl, die das Alter darstellt

Ausgabe: Geben Sie die Alterskategorie aus: "Child", "Teenager", "Adult", "Senior" oder "Invalid age"

Probier es selbst

use std::io;

fn main() {
    // Eingabe einlesen
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let age: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Schreibe deinen Code unten unter Verwendung eines `match`-Ausdrucks mit Bereichsmustern
    
    // Das Ergebnis ausgeben
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logic & Flow