0Pricing
Zig Academy · Lezione

Cicli for su intervalli ed elementi

Iterare su sequenze e coppie indice-elemento

Cicli for su intervalli ed elementi è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.

Iterare con for

Un ciclo for attraversa gli elementi di una slice o di un array, fornendo ogni elemento a turno. Non serve alcun indice manuale. 🚶

for (names) |name| {
    std.debug.print("{s}\n", .{name});
}

La cattura tra le pipe

Il nome tra le pipe è la cattura. A ogni iterazione viene associato all’elemento corrente, offrendo un corpo del ciclo chiaro e leggibile.

Catturare per riferimento

Anteponendo * alla cattura si ottiene un puntatore a ogni elemento. Questo consente di modificare gli elementi direttamente invece di copiarli.

for (scores) |*s| {
    s.* += 1;
}

Ottenere l’indice

Aggiunga una seconda sequenza per associare gli elementi a un indice. Zig percorre entrambe contemporaneamente, fornendo il valore e la sua posizione.

for (items, 0..) |item, i| {
    std.debug.print("{}: {}\n", .{ i, item });
}

0.. è una sequenza di indici

La forma 0.. produce indici corrispondenti alla lunghezza degli elementi. Non è un array separato, ma solo un contatore percorso in parallelo.

Ripetere un numero fisso di volte

Per ripetere un’operazione un numero stabilito di volte, iteri su un intervallo come 0..count. A ogni iterazione la cattura contiene il numero corrente.

for (0..3) |n| {
    std.debug.print("step {}\n", .{n});
}

Gli intervalli sono semiaperti

Un intervallo come 0..5 include 0 ma si ferma prima di 5, producendo esattamente cinque valori. Questo stile semiaperto corrisponde perfettamente alle lunghezze delle slice.

Iterare su due slice

Passi più slice per attraversarle in parallelo. Zig richiede che abbiano la stessa lunghezza e poi restituisce un elemento di ciascuna a ogni iterazione.

for (keys, values) |k, v| {
    put(k, v);
}

break e continue all’opera

All’interno di un ciclo for può usare break per uscire in anticipo e continue per passare all’elemento successivo, proprio come in un ciclo while.

for come espressione

Anche un for può produrre un valore. break restituisce un risultato, mentre una clausola else fornisce il valore se il ciclo termina senza un break.

const idx = for (items, 0..) |x, i| {
    if (x == target) break i;
} else null;

Scegliere tra for e while

Scelga for quando deve attraversare una sequenza. Scelga while quando il ciclo dipende da una condizione anziché da una raccolta.

Verifica rapida

Servono sia ogni elemento sia il relativo indice in un unico ciclo for. Quale intestazione lo permette?

Riepilogo

Ha eseguito cicli for: cattura degli elementi, modifiche tramite riferimento, indici con 0.., intervalli per contare, slice in parallelo e forma che restituisce un valore. 🎯

Domande Frequenti

La lezione «Cicli for su intervalli ed elementi» è gratuita?

Sì — il testo completo di «Cicli for su intervalli ed elementi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.

Cosa imparerò in «Cicli for su intervalli ed elementi»?

Iterare su sequenze e coppie indice-elemento Eserciti Zig Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Zig Academy?

Non è richiesta alcuna esperienza precedente. Zig Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Cicli for su intervalli ed elementi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Zig Academy?

Sì. Ogni lezione Zig Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. if come istruzione ed espressione
  2. Cicli while ed espressioni continue
  3. Cicli for su intervalli ed elementi
  4. break, continue e cicli con etichette
← Torna a Zig Academy