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 tablicycontains(value)- sprawdza, czy tablica zawiera określoną wartość
is_empty()– sprawdza, czy tablica jest pustareverse()– 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: truePodczas 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: trueWyzwanie
ŁatwyUtwó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:
- Sprawdź, czy tablica jest pusta, używając metody
is_empty(), i wypisz wynik. - Sprawdź, czy tablica zawiera łańcuch znaków
“5”, używając metodycontains(), i wypisz wynik. Pamiętaj, aby użyć String, a nie str:“5”.to_string() - 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);
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz13Tablice, ciąg dalszy
Tablice z mutowalnymi referencjamiMetody tablicPowtórka — tablica iloczynówPowtórka — odwrócona tablicaLepsze wypisywanie5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online