Zoeken…
Syntaxis
- voor ( variabele ID in itererende verzameling ) { expression }
- while ( condition ) { expression }
- do { expression } while ( voorwaarde );
- breken;
- doorgaan met;
Voor
For-lussen itereren over een itererende verzameling . Een itererende verzameling is elke klasse die structureel verenigt met Iterator<T> of Iterable<T> -typen uit de Haxe-standaardbibliotheek.
Een for-loop die getallen in het bereik van 0 tot 10 (exclusief) registreert, kan als volgt worden geschreven:
for (i in 0...10) {
trace(i);
}
De variabele identifier i bevat de individuele waarde van elementen in de itererende verzameling. Dit gedrag is vergelijkbaar met for-each in andere talen.
Een for-loop die elementen in een array logt, kan daarom als volgt worden geschreven:
for (char in ['a', 'b', 'c', 'd']) {
trace(char);
}
Probeer het voorbeeld op try.haxe.org .
Referenties
Terwijl
While-lussen voeren een lichaamsexpressie uit zolang de lusvoorwaarde true .
Een while-lus die getallen in het bereik van 9 tot en met 0 registreert, kan als volgt worden geschreven:
var i = 10;
while (i-- > 0) {
trace(i);
}
Probeer het voorbeeld op try.haxe.org .
Referenties
Doen terwijl
Do-while-loops voeren minimaal eenmaal een body-expressie uit en blijven deze uitvoeren zolang de lusvoorwaarde true .
Een do-while-loop die getallen in het bereik van 10 tot en met 0 registreert, kan als volgt worden geschreven:
var i = 10;
do {
trace(i);
} while (i-- > 0);
Probeer het voorbeeld op try.haxe.org .
Referenties
Debietregeling
De stroom of uitvoering van een lus kan worden geregeld door gebruik te maken van break en continue expressies.
Breken
break verlaat de huidige lus. In het geval dat de lus in een andere lus is genest, wordt de bovenliggende lus niet beïnvloed.
for (i in 0...10) {
for (j in 0...10) {
if (j == 5) break;
trace(i, j);
}
}
Probeer het voorbeeld op try.haxe.org .
Doorgaan met
continue slaat de huidige iteratie van de lus over op het punt van de uitdrukking. In het geval dat de lus in een andere lus is genest, wordt de bovenliggende lus niet beïnvloed.
for (i in 0...10) {
for (j in 0...10) {
if (j == 5) continue;
trace(i, j);
}
}
Probeer het voorbeeld op try.haxe.org .