Alle Aufgaben anzeigen
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 17 von 66.
Aufgabe
EinfachSie erhalten zwei Eingaben: erstens eine durch Kommas getrennte Liste bestehender Aufgaben und zweitens eine Aufgabennummer zur Ansicht (1-basierte Indizierung). Lesen Sie beide Eingaben ein, erstellen Sie einen Vektor aus den Aufgaben und zeigen Sie alle Aufgaben mit ihren Nummern an, wobei die angeforderte Aufgabe hervorgehoben wird.
Anforderungen:
- Lesen Sie die erste Eingabe ein, die durch Kommas getrennte Aufgabenbeschreibungen enthält (z. B.
Buy groceries,Call dentist,Finish homework) - Teilen Sie die Zeichenfolge nach Kommas auf, um die einzelnen Aufgaben zu erhalten
- Erstellen Sie einen Vektor und fügen Sie jede Aufgabe hinzu
- Lesen Sie die zweite Eingabe ein und konvertieren Sie diese in eine Ganzzahl (die hervorzuhebende Aufgabennummer, unter Verwendung der 1-basierten Indizierung)
- Geben Sie die Gesamtzahl der Aufgaben im Format
Total tasks: Xaus - Iterieren Sie durch den Vektor und geben Sie jede Aufgabe mit ihrer Nummer (1-basiert) aus
- Für die angeforderte Aufgabennummer geben Sie diese im Format
[X] [task description] (selected)aus - Für alle anderen Aufgaben geben Sie diese im Format
[X] [task description]aus
Eingabe:
- Erste Zeile: Durch Kommas getrennte Aufgabenbeschreibungen (z. B.
Buy groceries,Call dentist,Finish homework) - Zweite Zeile: Eine Ganzzahl, die die hervorzuhebende Aufgabennummer darstellt (1-basierte Indizierung)
Ausgabe:
- Erste Zeile:
Total tasks: X, wobei X die Gesamtzahl der Aufgaben ist - Folgende Zeilen: Jede Aufgabe mit ihrer Nummer im Format
[X] [task description] - An die ausgewählte Aufgabe muss
(selected)angehängt werden
Probier es selbst
use std::io::{self, BufRead};
fn main() {
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// Lies die durch Kommas getrennten Aufgaben ein
let tasks_input = lines.next().unwrap().unwrap();
// Lies die Nummer der hervorzuhebenden Aufgabe ein
let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
// TODO: Schreibe deinen Code unten
// Trenne tasks_input nach Kommas und erstelle einen Vektor
// Gib die Gesamtzahl der Aufgaben aus
// Iteriere durch die Aufgaben und gib jede mit ihrer Nummer aus
// Hebe die ausgewählte Aufgabe hervor, indem " (selected)" angehängt wird
}Alle Lektionen in Logic & Flow
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