Array-Methoden
Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 61 von 75.
Arrays verfügen über viele Methoden (Funktionalitäten). Um auf eine Methode zuzugreifen, schreibst du:
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 mut numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse();
// [50, 40, 30, 20, 10]Beispiel für die Methode is_empty():
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Dies gibt Folgendes aus:
Is empty: trueBei der Verwendung von contains musst du eine Referenz auf den Wert übergeben, nach dem du suchst, und dazu & verwenden. Zum Beispiel:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Ausgabe: Contains 30: trueAufgabe
EinfachErstelle eine Funktion namens analyze_array, die ein Array aus Strings der Größe 5 als Argument entgegennimmt. Die Methode soll die folgenden Operationen ausführen:
- Prüfe mit der Methode
is_empty(), ob das Array leer ist, und gib das Ergebnis aus. - Prüfe mit der Methode
contains(), ob das Array den String"5"enthält, und gib das Ergebnis aus. Denk daran, String und nicht str zu verwenden:"5".to_string() - Reversiere das Array und gib es aus
Die Ausgabe sollte genau diesem Format entsprechen:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Probier es selbst
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Schreibe hier den Code
// Gib die Elemente Zeile für Zeile aus
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 Grundlagen
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Übe selbstständig: Online-Rust-Compiler