Iterowanie po wektorze
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 11 z 66.
Teraz, gdy wiesz już, jak tworzyć wektory i uzyskiwać dostęp do poszczególnych elementów, nauczmy się systematycznie przetwarzać każdy element wektora. Pętla for świetnie się do tego nadaje, ponieważ pozwala odwiedzać kolejno każdy element.
Oto podstawowa składnia iterowania po wektorze:
let names = vec!["Alice", "Bob", "Charlie"];
for name in &names {
println!("Hello, {}!", name);
}Zwróć uwagę na & przed names — tworzy ono referencję do wektora, dzięki czemu możesz odczytywać każdy element bez przejmowania własności samego wektora. Każda iteracja pętli daje dostęp do jednego elementu za pośrednictwem zmiennej pętli name.
Pętla for automatycznie sprawdza granice za Ciebie. W przeciwieństwie do ręcznego indeksowania nigdy przypadkowo nie spróbujesz uzyskać dostępu do elementu, który nie istnieje. Pętla odwiedzi dokładnie tyle elementów, ile zawiera wektor, dzięki czemu jest bezpieczna i wygodna.
Możesz użyć tego wzorca z wektorem dowolnego typu:
let scores = vec![85, 92, 78, 90];
for score in &scores {
println!("Score: {}", score);
}To podejście jest najczęstszym i najbardziej idiomatycznym sposobem przetwarzania wszystkich elementów wektorze, gdy trzeba odczytać ich wartości.
Wyzwanie
ŁatwyNapisz funkcję sum_all_elements, która przyjmuje wektor numbers i zwraca sumę wszystkich jego elementów.
Użyj pętli for, aby iterować po wektorze i obliczyć sumę wszystkich elementów.
Parametry:
numbers(Vec<i32>): Wektor liczb całkowitych do zsumowania
Zwraca: Sumę wszystkich elementów wektora (i32)
Spróbuj swoich sił
fn sum_all_elements(numbers: Vec<i32>) -> i32 {
// Wpisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online