Menu
Coddy logo textTech

Metody tablic

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 61 z 75.

Tablice mają wiele metod (funkcjonalności). Aby uzyskać dostęp do metody, napisz:

array.methodName(otherParameters)

Oto lista podstawowych metod:

  • len() - zwraca liczbę elementów w tablicy
  • contains(value) - sprawdza, czy tablica zawiera określoną wartość
  • is_empty() – sprawdza, czy tablica jest pusta
  • reverse() – odwraca tablicę

Na przykład:

let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse();
// [50, 40, 30, 20, 10]

Przykład metody is_empty():

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

To wyświetli:

Is empty: true

Podczas korzystania z contains musisz przekazać referencję do szukanej wartości, używając &. Na przykład:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Wynik: Contains 30: true
challenge icon

Wyzwanie

Łatwy

Utwórz funkcję o nazwie analyze_array, która przyjmuje jako argument tablicę łańcuchów znaków o rozmiarze 5. Metoda powinna wykonać następujące operacje:

  1. Sprawdź, czy tablica jest pusta, używając metody is_empty(), i wypisz wynik.
  2. Sprawdź, czy tablica zawiera łańcuch znaków “5”, używając metody contains(), i wypisz wynik. Pamiętaj, aby użyć String, a nie str: “5”.to_string()
  3. Odwróć tablicę i ją wypisz

Wynik powinien mieć dokładnie następujący format:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

Spróbuj swoich sił

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // Napisz kod tutaj




    // Wypisz elementy w osobnych wierszach
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online