DO
DO [
WHILE Condition ]
.
.
.
[
BREAK |
CONTINUE ]
.
.
.
LOOP [
UNTIL Condition ]
Herhaalt een aantal instructielijnen zolang de beginvoorwaarde "waar" blijft, of tot de eindconditie "waar" wordt.
Deel
|
Beschrijving
|
DO
|
Altijd het eerste deel van de instructie-lus
|
WHILE
|
Als ze voorkomt moet de Condition waar blijven om de lus verder uit te blijven voeren.
|
UNTIL
|
Als ze voorkomt moet die Condition waar worden om de uitvoering van de lus te onderbreken.
|
Condition
|
Eender welke booleanse uitdrukking.
|
BREAK
|
Spring onmiddellijk uit de lus en ga voort met de uitvoering van de eerste programmalijn na de lus.
|
CONTINUE
|
Onmiddellijk alle volgende instrukties overslaan tot de laatste lijn van de lus om zo een nieuwe doorloop van de lus aan te vatten.
|
LOOP
|
Altijd de laatste instructie van de lus.
|
Als de startvoorwaarde Condition bij het begin "onwaar" is, wordt de lus helemaal niet uitgevoerd. Anders wordt de lus minstens één keer uitgevoerd, zelfs als de eindvoorwaarde Condition "waar" is van bij het begin.
Examples
' Een eenvoudige lus
a = 1
DO WHILE a \<= 5
PRINT "Hello World"; a
INC a
LOOP
Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5
' Hetzelfde met UNTIL
DO
PRINT "Hello World"; a
INC a
LOOP UNTIL a = 6
Wees voorzichtig de
UNTIL lus niet te beginnen met een waarde voor "a" die groter is dan 5. De variabele "a" zal verhoogd worden tot de waarde die hoger is dan 6 en je bereikt nooit meer de eindvoorwaarde.
Het is waarschijnlijk beter om in de plaats daarvan "
LOOP a > 5" te gebruiken om de kans te beperken in een oneindige uitvoering van de lus terecht te komen.
Examples
' Deze lus zal nooit de eindvoorwaarde bereiken
a = 1
DO WHILE a \<= 5
PRINT "Hello World"; a
INC a
IF a = 4 THEN BREAK
LOOP
Hello World 1
Hello World 2
Hello World 3
Zie ook