Menu
CoddyTech

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ück
  • contains(value) – prüft, ob das Array einen bestimmten Wert enthält
  • is_empty() – prüft, ob das Array leer ist
  • reverse() – 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: true

Bei 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: true
challenge icon

Aufgabe

Einfach

Erstelle 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:

  1. Prüfe mit der Methode is_empty(), ob das Array leer ist, und gib das Ergebnis aus.
  2. 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()
  3. 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);
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Rust-Compiler