LMD ScriptPack Guide


Loop Statements (for, while, repeat)


For statement

 

The For statement can be used to repeatedly execute code. It allows to iterate from low to high bounds with specified step, or even in reverse order with negative step. If the Step clause is omit, then the default step is 1.

 

For i = 0 To 10
  MsgBox(i)
Next
 
For i = 0 To 10 Step 2
  MsgBox(i)
Next
 
For i = 10 To 0 Step -1
  MsgBox(i)
Next
 

Do/Loop statement

 

The Do/Loop statement is a conditional loop statement. The statement supports While or Until conditions; and these conditions can be placed either: at the top or at the bottom of the statement. If the condition is placed at the top of the statement, then its checked before each execution (thus, even before first execution) of the loop child statements:

 

Dim i = 1
Do While i < 10
  MsgBox(i)
  i = i * 2
Loop
 
Dim i = 1
Do Until i >= 10
  MsgBox(i)
  i = i * 2
Loop
 

If the condition is placed at the bottom of the statement, then its checked after each execution (thus, only after first execution) of the loop child statements:

 

Dim i = 1
Do 
  MsgBox(i)
  i = i * 2
Loop While i < 10
 
Dim i = 1
Do 
  MsgBox(i)
  i = i * 2
Loop Until i >= 10

 

Exit For/Do statement

 

The Exit For or Exit Do statements can be used to break loop execution. Using Exit For or Exit Do statements outside of the corresponding loop is a syntax error.

 

Dim i = 1
Do While i < 100
  If i = 15 Then
    Exit Do
  End If
  i = F(i)
Loop
 
Dim sum = 0
For i = 0 To 10 
  sum = sum + i
  If sum > 15 Then
    Exit For
  End If
Next

 

The Exit For or Exit Do statements always works with innermost loop:

 

For i = 0 To 10 'outer
  If i = 5 Then
    Exit For 'Break outer loop.
  End If
 
  For j = 0 To 10 'inner
    If j = 5 Then 
      Exit For 'Break inner loop.
    End If
  Next
Next