01 · Fondamenti
- variabili
- let / let mut / const
- shadowing
- tipi primitivi
- tuple / array
Fine del Corso Rust
Complimenti: hai attraversato i 4 moduli del Corso Rust — dalle prime variabili e mutabilità di default fino all'ownership, al borrowing e all'implementazione dei metodi sulle struct. Qui sotto trovi la mappa di tutto quello che padroneggi e una sfida finale in tre tappe.
Promemoria: gli esercizi Rust si verificano staticamente (parole chiave). Per eseguire il codice davvero, ogni esercizio offre il bottone Rust Playground che copia il codice e apre play.rust-lang.org.
Metti insieme ciò che hai imparato su Rust realizzando tre piccoli componenti logici: un verificatore booleano, una modifica in-place tramite passaggio per riferimento mutabile e una struct per tenere il conteggio in modo sicuro.
Scrivi una funzione che accetta un intero a 32 bit e restituisce true se è pari, false altrimenti. Modulo 1 (operatori) + Modulo 2 (funzioni).
Definisci la funzione is_even(n: i32) -> bool che ritorna un valore booleano indicante se il numero passato come argomento è pari (n % 2 == 0).
Usa il tipo di ritorno -> bool e l'operatore modulo (%). Esempio: n % 2 == 0
Soluzione disponibile dopo 3 tentativi
Scrivi una funzione che riceve un riferimento mutabile a un intero e ne calcola il quadrato modificando direttamente il valore originale. Modulo 3 (passaggio per riferimento mutabile).
Definisci la funzione square_by_ref(n: &mut i32) che accetta un riferimento mutabile a un intero e calcola il suo quadrato in-place, dereferenziando n per modificarlo.
All'interno della funzione scrivi *n = *n * *n; per accedere e modificare il valore puntato dal riferimento.
Soluzione disponibile dopo 3 tentativi
Crea una struct con campi privati che fornisce metodi pubblici per inizializzare il valore a 0, incrementarlo e leggerlo. Modulo 4 (struct e metodi).
Completa l'implementazione di Counter definendo pub fn new() -> Counter che ritorna Counter con count a 0, pub fn increment(&mut self) che incrementa count di 1, e pub fn get_count(&self) -> u32 che ritorna il valore di count.
Usa la parola chiave pub per rendere i metodi accessibili all'esterno dell'impl.
Soluzione disponibile dopo 3 tentativi
Una pagina con tutta la sintassi essenziale di Rust moderno, pronta da tenere sotto mano mentre programmi.
La pratica costante è il modo migliore per rafforzare le proprie competenze. Apri il Playground Rust per sperimentare liberamente con scenari complessi o per preparare i tuoi frammenti prima di provarli sul compilatore vero e proprio.