Einen Vektor erstellen
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 8 von 66.
Nachdem Sie nun verstehen, was Vektoren sind, lassen Sie uns lernen, wie man sie erstellt. Rust bietet zwei primäre Möglichkeiten, einen Vektor zu erstellen, die jeweils für unterschiedliche Situationen geeignet sind.
Die erste Methode verwendet Vec::new(), um einen leeren Vektor zu erstellen, dem Sie später Elemente hinzufügen können:
let mut numbers = Vec::new();Beachten Sie, dass wir mut verwenden, da wir wahrscheinlich später Elemente zu diesem leeren Vektor hinzufügen möchten. Rust kann den Typ eines leeren Vektors nicht immer bestimmen, daher müssen Sie ihn möglicherweise explizit angeben:
let mut numbers: Vec<i32> = Vec::new();Die zweite Methode verwendet das vec![] Makro, um einen Vektor mit Initialwerten zu erstellen:
let numbers = vec![1, 2, 3, 4, 5];Das vec![]-Makro ist praktischer, wenn Sie die Startwerte kennen. Rust kann den Typ automatisch aus den von Ihnen bereitgestellten Werten bestimmen, sodass keine Typannotation erforderlich ist. Dieser Vektor enthält fünf Ganzzahlen und ist sofort einsatzbereit.
Das vec![]-Makro unterstützt auch eine Wiederholungssyntax zum Erstellen eines Vektors, der mit demselben Wert gefüllt ist. Verwenden Sie vec![value; n], um einen Vektor mit n Elementen zu erstellen, von denen jedes auf value gesetzt ist:
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]Dies ist besonders nützlich, wenn Sie einen Vektor mit einer bestimmten Größe erstellen möchten, die zur Laufzeit festgelegt wird, zum Beispiel durch eine Benutzereingabe:
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]Beide Ansätze erstellen denselben Vektortyp – die Wahl hängt davon ab, ob Sie Anfangswerte haben oder planen, den Vektor schrittweise aufzubauen.
Aufgabe
EinfachSie erhalten eine Zahl als Eingabe, die angibt, wie viele Elemente ein Vektor enthalten soll. Lesen Sie die Eingabe ein, konvertieren Sie sie in eine Ganzzahl und erstellen Sie einen Vektor mit dieser Anzahl an Elementen, wobei jedes Element die Zahl 10 ist.
Anforderungen:
- Lesen Sie die Eingabe ein und konvertieren Sie sie in eine Ganzzahl
- Erstellen Sie einen Vektor mit dem
vec![]-Makro - Der Vektor sollte die angegebene Anzahl von Elementen enthalten
- Jedes Element sollte den Wert
10haben - Geben Sie jedes Element in einer separaten Zeile aus
Eingabe: Eine einzelne Ganzzahl, die die Anzahl der Elemente darstellt
Ausgabe: Geben Sie jedes Element des Vektors in einer separaten Zeile 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 n: usize = input.trim().parse().expect("Invalid input");
// TODO: Schreibe deinen Code unten
// Erstelle einen Vektor mit n Elementen, von denen jedes den Wert 10 hat
// Gib jedes Element in einer separaten Zeile aus
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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