Array-Methoden
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 61 von 75.
Arrays sind vollgepackt mit vielen Methoden (Funktionalitäten). Um auf eine Methode zuzugreifen, schreibe:
array.methodName(otherParameters)Hier ist eine Liste der grundlegenden Methoden:
len()- gibt die Anzahl der Elemente im Array zurückcontains(value)- prüft, ob das Array einen bestimmten Wert enthält
is_empty()- prüft, ob das Array leer istreverse()- Kehrt das Array um
Zum Beispiel:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse()
// [50, 40, 30, 20, 10]Beispiel für die is_empty()-Methode:
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Dies wird ausgegeben:
Is empty: trueBei der Verwendung von contains müssen Sie eine Referenz auf den Wert, nach dem Sie suchen, mit & übergeben. Zum Beispiel:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Ausgabe: Contains 30: trueAufgabe
EinfachErstellen Sie eine Funktion namens analyze_array, die ein Array von Strings der Größe 5 als Argument erhält. Die Methode sollte die folgenden Operationen ausführen:
- Überprüfen Sie mit der Methode
is_empty(), ob das Array leer ist, und geben Sie das Ergebnis aus. - Überprüfen Sie mit der Methode
contains(), ob das Array den String"5"enthält, und geben Sie das Ergebnis aus. Denken Sie daran, String und nicht str zu verwenden:"5".to_string() - Kehren Sie die Reihenfolge des Arrays um und geben Sie es aus.
Die Ausgabe sollte genau diesem Format folgen:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Spickzettel
Arrays verfügen über integrierte Methoden, auf die mit der Punktnotation zugegriffen wird:
array.methodName(otherParameters)Grundlegende Array-Methoden:
len()- gibt die Anzahl der Elemente zurückcontains(value)- prüft, ob das Array einen bestimmten Wert enthältis_empty()- prüft, ob das Array leer istreverse()- kehrt das Array um
Beispiele:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]Hinweis: contains() erfordert eine Referenz auf den Wert unter Verwendung von &.
Probier es selbst
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Code hier schreiben
// Elemente Zeile für Zeile ausgeben
for element in arr.iter() {
println!("{}", element);
}
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
analyze_array(&mut arr);
}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 Falsch13Arrays Fortsetzung
Veränderbare Referenz-ArraysArray-MethodenWiederholung – Produkt-ArrayWiederholung – Umgekehrtes ArrayBessere Ausgabe5Operatoren 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 Eingabe