Arrays verändern
Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 58 von 75.
Neben dem Zugriff auf die Elemente eines Arrays kannst du sie auch ändern. Um ein bestimmtes Element zu ändern, brauchst du zunächst mut, um ein Array änderbar zu machen, und dann kannst du ihm mithilfe seines Index einen neuen Wert zuweisen.
Hier ist ein Beispiel:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Ausgabe:
apple, orange, cherrybanana wurde in eine orange geändert.
Aufgabe
EinfachErstelle ein Programm, das 3 Eingaben erhält:
- Die erste Eingabe ist eine durch Kommas getrennte Zeichenfolge von Werten (zum Beispiel
1,2,3,4,5) mit der Länge 5. - Die zweite Eingabe ist ein Index.
- Die dritte Eingabe ist ein neues Element.
Der Startcode wandelt die durch Kommas getrennte Zeichenfolge bereits in ein veränderbares Array namens arr um. Du kannst direkt damit arbeiten, ohne Konvertierungscode zu schreiben.
Das Programm gibt ein verändertes Array aus, indem es das Element am Index, der in der zweiten Eingabe gespeichert ist, durch den Wert aus der dritten Eingabe ersetzt.
Probier es selbst
use std::io;
use std::convert::TryInto;
fn main() {
let mut input_str_arr = String::new();
let mut input_index = String::new();
let mut new_element = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
io::stdin().read_line(&mut input_index).unwrap();
io::stdin().read_line(&mut new_element).unwrap();
let new_element = new_element.trim().to_string();
let index: usize = input_index.trim().parse().unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
// Schreibe deinen Code darunter
// Verwende arr, index und new_element, um die Herausforderung zu lösen
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe12Array-Grundlagen
Arrays deklarierenArray als ParameterZugriff auf ElementeArrays verändernZusammenfassung - Pretty Print ArrayÜbe selbstständig: Online-Rust-Compiler