Arrays verändern
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 58 von 75.
Zusätzlich zum Zugriff auf die Elemente eines Arrays können Sie diese auch ändern. Um ein bestimmtes Element zu ändern, benötigen Sie zuerst mut, um ein Array veränderbar zu machen, und dann können Sie ihm über seinen 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 ein orange geändert.
Aufgabe
EinfachErstellen Sie ein Programm, das 3 Eingaben erhält:
- Die erste Eingabe ist eine Zeichenfolge von Werten, die durch ein Komma getrennt sind (zum Beispiel
1,2,3,4,5), mit einer Länge von 5. - Die zweite Eingabe ist ein Index
- Die dritte Eingabe ist ein neues Element
Der Starter-Code konvertiert die kommagetrennte Zeichenfolge bereits in ein veränderbares Array namens arr — Sie können direkt damit arbeiten, ohne Konvertierungscode schreiben zu müssen.
Das Programm gibt ein modifiziertes Array aus, indem es das Element an dem in der zweiten Eingabe gespeicherten Index durch den Wert aus der dritten Eingabe ersetzt.
Spickzettel
Um Array-Elemente zu ändern, muss das Array mit mut deklariert werden:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Dies ändert das Element an Index 1 von "banana" zu "orange".
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();
// Schreiben Sie Ihren Code unten
// Verwenden Sie 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 Fundamentals
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