Cicli

D fornisce quattro costrutti per i cicli.

1) while

I cicli while eseguono il blocco di codice dato finché una certa condizione è soddisfatta:

while (condizione)
{
    foo();
}

2) do ... while

I cicli do .. while eseguono il blocco di codice dato finché una certa condizione è soddisfatta, ma a differenza del while il blocco del ciclo viene eseguito prima che la condizione del ciclo venga valutata per la prima volta.

do
{
    foo();
} while (condizione);

3) Ciclo for classico

Il ciclo for classico con inizializzatore, condizione del ciclo e istruzione del ciclo:

for (int i = 0; i < arr.length; i++)
{
    ...
}

4) foreach

Il ciclo foreach che verrà introdotto più in dettaglio nella prossima sezione:

foreach (el; arr)
{
    ...
}

Parole chiave speciali ed etichette

La parola chiave speciale break interrompe immediatamente il ciclo corrente. In un ciclo annidato, un'etichetta può essere usata per uscire da qualsiasi ciclo esterno:

outer: for (int i = 0; i < 10; ++i)
{
    for (int j = 0; j < 5; ++j)
    {
        ...
        break outer;

La parola chiave continue passa alla prossima iterazione del ciclo.

Approfondimenti

rdmd playground.d