Creare un vettore
Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 8 di 66.
Ora che hai capito cosa sono i vettori, impariamo a crearli. Rust offre due modi principali per creare un vettore, ciascuno adatto a situazioni diverse.
Il primo metodo usa Vec::new() per creare un vettore vuoto a cui potrai aggiungere elementi in seguito:
let mut numbers = Vec::new();Nota che usiamo mut perché probabilmente vorremo aggiungere elementi a questo vettore vuoto in seguito. Rust non può sempre determinare il tipo di un vettore vuoto, quindi potresti doverlo specificare esplicitamente:
let mut numbers: Vec<i32> = Vec::new();Il secondo metodo usa la macro vec![] per creare un vettore con valori iniziali:
let numbers = vec![1, 2, 3, 4, 5];La macro vec![] è più comoda quando conosci i valori iniziali. Rust può determinare automaticamente il tipo dai valori che fornisci, quindi non è necessaria alcuna annotazione del tipo. Questo vettore contiene cinque numeri interi ed è subito pronto all'uso.
La macro vec![] supporta anche una sintassi di ripetizione per creare un vettore riempito con lo stesso valore. Usa vec![value; n] per creare un vettore con n elementi, ciascuno impostato su value:
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]Questo è particolarmente utile quando vuoi creare un vettore di una dimensione specifica determinata in fase di esecuzione, ad esempio a partire dall'input dell'utente:
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]Entrambi gli approcci creano lo stesso tipo di vettore: la scelta dipende dal fatto che tu abbia valori iniziali o intenda costruire il vettore gradualmente.
Sfida
FacileRiceverai in input un numero che rappresenta quanti elementi deve contenere un vettore. Leggi l’input, convertilo in un intero e crea un vettore con quel numero di elementi, dove ogni elemento è il numero 10.
Requisiti:
- Leggi l’input e convertilo in un intero
- Crea un vettore usando la macro
vec![] - Il vettore deve contenere il numero specificato di elementi
- Ogni elemento deve avere il valore
10 - Stampa ogni elemento su una riga separata
Input: Un singolo intero che rappresenta il numero di elementi
Output: Stampa ogni elemento del vettore su una riga separata
Provalo tu
use std::io;
fn main() {
// Leggi l'input
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: Scrivi il tuo codice qui sotto
// Crea un vettore con n elementi, ciascuno con valore 10
// Stampa ogni elemento su una riga separata
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
L'espressione 'match'Corrispondenza di più valoriCorrispondenza di intervalliL'espressione 'if let'Cicli come espressioniRipasso - Parser di comandi semplice4Raggruppare i dati con le struct
Che cos'è una struct?Panoramica sulle structAccedere ai campi delle structStruct mutabiliStruct come parametri di funzioneStruct tuplaRiepilogo - Creare una struct Book2Introduzione ai vettori
Che cos'è un vettore?Creare un vettoreAggiungere elementi con pushAccedere agli elementi di un vettoreIterare su un vettoreIterazione mutabileRimuovere elementiRiepilogo - Tracker dei punteggi di base5Coppie chiave-valore con mappe hash
Che cos'è una mappa hash?Creare una mappa hashInserire coppie chiave-valoreAccedere ai valoriScorrere una mappa hashAggiornare un valoreRimuovere una coppiaRiepilogo - Contatore di parole8Progetto: inventario semplice degli articoli
Configurazione del progettoAggiungere un articoloControllare le scorteVendere un articoloMettere tutto insieme3Lista di attività da riga di comando
Configurazione del progettoAggiungere un'attivitàVisualizzare tutte le attivitàRimuovere un'attivitàCodice finaleEsercitati da solo: Compilatore Rust online