Vai al contenuto
eLearner.app

Fine del Corso Rust

Riepilogo e sfida finale

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.

01 · Fondamenti

  • variabili
  • let / let mut / const
  • shadowing
  • tipi primitivi
  • tuple / array

02 · Controllo del flusso

  • if / else
  • if come espressione
  • loop
  • while
  • for e range
  • match

03 · Ownership e Borrowing

  • ownership
  • stack e heap
  • move
  • riferimenti &
  • borrowing mutabile &mut

04 · Struct e Metodi

  • struct
  • istanze
  • metodi impl
  • funzioni associate (new)

La sfida finale, in tre tappe

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.

1 · Verifica pari/dispari

Scrivi una funzione che accetta un intero a 32 bit e restituisce true se è pari, false altrimenti. Modulo 1 (operatori) + Modulo 2 (funzioni).

Esercizio#rust.boss.e1
Tentativi: 0Caricamento…

Definisci la funzione is_even(n: i32) -> bool che ritorna un valore booleano indicante se il numero passato come argomento è pari (n % 2 == 0).

Caricamento editor…
Mostra suggerimento

Usa il tipo di ritorno -> bool e l'operatore modulo (%). Esempio: n % 2 == 0

Soluzione disponibile dopo 3 tentativi

2 · Raddoppia e quadra per riferimento mutabile

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).

Esercizio#rust.boss.e2
Tentativi: 0Caricamento…

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.

Caricamento editor…
Mostra suggerimento

All'interno della funzione scrivi *n = *n * *n; per accedere e modificare il valore puntato dal riferimento.

Soluzione disponibile dopo 3 tentativi

3 · Struct Counter incapsulata

Crea una struct con campi privati che fornisce metodi pubblici per inizializzare il valore a 0, incrementarlo e leggerlo. Modulo 4 (struct e metodi).

Esercizio#rust.boss.e3
Tentativi: 0Caricamento…

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.

Caricamento editor…
Mostra suggerimento

Usa la parola chiave pub per rendere i metodi accessibili all'esterno dell'impl.

Soluzione disponibile dopo 3 tentativi

Cheatsheet stampabile

Una pagina con tutta la sintassi essenziale di Rust moderno, pronta da tenere sotto mano mentre programmi.

Apri il cheatsheet

E adesso?

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.