Loop statements#
While#
The While
loop allows you to execute a block of statements repeatedly while a boolean expression evaluates to true.
Note that a While
loop may never actually execute any of it's statements if the expression evaluates to false when the loop is entered.
The syntax for the While
loop is:
While Expression
Statements...
Wend
End
or End While
may be used instead of Wend
.
Exit
and Continue
may be used within a While loop to abruptly terminate or continue loop execution.
Repeat..Until / Forever#
Like the While
loop, the Repeat
loop also allows you to execute a block of statement repeatedly while a boolean expression evaluates to true.
However, unlike a While
loop, a Repeat
loop is guaranteed to execute at least once, as the boolean expression is not evaluated until the end of the loop.
The syntax for Repeat
/Until
loops is:
Repeat
Statements...
Until Expression
..or..
Repeat
Statements...
Forever
Exit
and Continue
may be used within a Repeat loop to abruptly terminate or continue loop execution.
For..To#
A numeric For
loop will continue executing until the value of a numeric index variable reaches an exit value.
The index variable is automatically updated every loop iteration by adding a constant step value.
The syntax for a numeric For
loop is:
For [ Local ] IndexVariable [:]= FirstValue To | Until LastValue [ Step StepValue ]
Statements...
Next
End
or End For
may be used instead of Next
.
If present, Local
will create a new local index variable that only exists for the duration of the loop.
In addition, IndexVariable must include the variable type, or :=
must be used instead of =
to implicitly set the variable's type.
If Local
is not present, IndexVariable must be a valid, existing variable.
The use of To
or Until
determines whether LastValue should be inclusive or exclusive.
If To
is used, the loop will exit once the index variable is greater than LastValue (or less than if StepValue is negative).
If Until
is used, the loop will exit once the index variable is greater than or equal to LastValue (or less than or equal to if StepValue is negative).
If omitted, StepValue defaults to 1.
Exit
and Continue
may be used within a numeric For loop to abruptly terminate or continue loop execution.
For..Eachin#
A For..EachIn
loop allows you to iterate through the elements of a collection.
A collection is either an array, a string, or a specially designed object.
The syntax for a **For..EachIn
loop is:
For [ Local ] IndexVariable [:]= EachIn Collection
Statements...
Next
End
or End For
may be used instead of Next
.
If present, Local
will create a new local index variable that only exists for the duration of the loop.
In addition, IndexVariable must include the variable type, or :=
must be used instead of =
to implicitly set the variable's type.
If Local
is not present, IndexVariable must be a valid, existing variable.
If Collection is an array, the loop will iterate through each element of the array, and the type of the index variable must match the element type of the array.
If Collection is a string, the loop will iterate through each character code of the string, and the type of the index variable must be numeric.
If Collection is an object, it must implement the std.collections.IContainer interface.
Exit#
Exit
can be used within While
, Repeat
and For
loops to abruptly exit the loop before the loop termination condition has been met.
Continue#
Continue
can be used within While
, Repeat
and For
loops to force the loop to abruptly skip to the next loop iteration,
skipping over any statements that may be remaining in the current loop iteration.