Tworzenie wektora
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 8 z 66.
Skoro już wiesz, czym są wektory, nauczmy się je tworzyć. Rust oferuje dwa podstawowe sposoby tworzenia wektora, z których każdy sprawdza się w innych sytuacjach.
Pierwsza metoda używa Vec::new(), aby utworzyć pusty wektor, do którego możesz później dodawać elementy:
let mut numbers = Vec::new();Zwróć uwagę, że używamy mut, ponieważ prawdopodobnie później będziemy chcieć dodawać elementy do tego pustego wektora. Rust nie zawsze potrafi określić typ pustego wektora, więc może być konieczne jawne określenie go:
let mut numbers: Vec<i32> = Vec::new();Druga metoda wykorzystuje makro vec![] do utworzenia wektora z wartościami początkowymi:
let numbers = vec![1, 2, 3, 4, 5];Makro vec![] jest wygodniejsze, gdy znasz wartości początkowe. Rust może automatycznie określić typ na podstawie podanych wartości, więc adnotacja typu nie jest potrzebna. Ten wektor zawiera pięć liczb całkowitych i jest od razu gotowy do użycia.
Makro vec![] obsługuje również składnię powtarzania, która pozwala utworzyć wektor wypełniony tą samą wartością. Użyj vec![value; n], aby utworzyć wektor z n elementami, z których każdy ma wartość value:
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]Jest to szczególnie przydatne, gdy chcesz utworzyć wektor o określonym rozmiarze ustalanym w czasie wykonywania, na przykład na podstawie danych wejściowych użytkownika:
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]Oba podejścia tworzą ten sam typ wektora — wybór zależy od tego, czy masz wartości początkowe, czy planujesz stopniowo budować wektor.
Wyzwanie
ŁatwyOtrzymasz liczbę jako dane wejściowe, która określa, ile elementów powinna zawierać tablica. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i utwórz tablicę zawierającą tyle elementów, z których każdy ma wartość 10.
Wymagania:
- Odczytaj dane wejściowe i przekonwertuj je na liczbę całkowitą
- Utwórz tablicę za pomocą makra
vec![] - Tablica powinna zawierać określoną liczbę elementów
- Każdy element powinien mieć wartość
10 - Wypisz każdy element w osobnym wierszu
Dane wejściowe: Pojedyncza liczba całkowita określająca liczbę elementów
Wynik: Wypisz każdy element tablicy w osobnym wierszu
Spróbuj swoich sił
use std::io;
fn main() {
// Wczytaj dane wejściowe
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let n: usize = input.trim().parse().expect("Invalid input");
// TODO: Napisz swój kod poniżej
// Utwórz wektor zawierający n elementów, z których każdy ma wartość 10
// Wypisz każdy element w osobnym wierszu
}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