Passa al contenuto principale

2.5 Cicli di looping

I cicli di looping in Rust sono fondamentali per l'iterazione, cioè per eseguire ripetutamente un blocco di codice finché una condizione specifica viene soddisfatta o fino a quando un certo numero di iterazioni è raggiunto. Ci sono tre tipi principali di cicli di looping in Rust: il ciclo loop, il ciclo while e il ciclo for.

Ciclo loop

Il ciclo loop esegue un blocco di codice all'infinito fino a quando non viene esplicitamente interrotto da un'istruzione break. È utile quando non si conosce in anticipo il numero di iterazioni necessarie.

loop {
println!("Questo verrà stampato all'infinito!");
// Per interrompere il ciclo, usa l'istruzione 'break'
break;
}

Ciclo while

Il ciclo while esegue un blocco di codice fintanto che una condizione specifica è vera. Questo ciclo è utile quando si desidera eseguire un blocco di codice finché una condizione è valida.

let mut contatore = 0;
while contatore < 5 {
println!("Il contatore è: {}", contatore);
contatore += 1;
}

Ciclo for

Il ciclo for in Rust è utilizzato per iterare attraverso una sequenza di elementi. Può essere utilizzato per iterare su un intervallo numerico o sugli elementi di una collezione.

Esempio con un intervallo numerico

for numero in 1..=5 {
println!("Numero: {}", numero);
}

In questo caso, il ciclo for itera attraverso l'intervallo da 1 a 5 inclusi, stampando il valore di numero ad ogni iterazione.

Esempio con una collezione

let lista = vec![1, 2, 3, 4, 5];
for elemento in lista.iter() {
println!("Elemento: {}", elemento);
}

In questo esempio, il ciclo for itera attraverso gli elementi della lista, stampando ciascun elemento.

info

vec! in Rust è una macro utilizzata per creare nuovi Vec (Vettori), che sono collezioni dinamiche di elementi omogenei. Queste collezioni possono crescere o diminuire di dimensione durante l'esecuzione del programma.

Nel capitolo 4.1, esploreremo come utilizzare questa macro per creare, modificare e accedere agli elementi di un Vec,

Questi sono i principali tipi di cicli di looping in Rust. Sono strumenti potenti per controllare il flusso di esecuzione del programma e vengono utilizzati ampiamente nella programmazione Rust per eseguire operazioni ripetute.