REPEAT...UNTIL loops are used to repetitively execute a subject statement until a condition is true. The condition is checked after the subject statement is executed. Therefore, the subject statement is always executed at least once. See Definition of True and False for details on how the “truth” of an expression is determined.
Syntax
REPEAT statement UNTIL expression
or
REPEAT BEGIN
statements
ENDREP UNTIL expression
Examples
The following example finds the smallest power of 2 that is greater than B:
A = 1
B = 10
REPEAT A = A * 2 UNTIL A GT B
The subject statement can also be in the form of a block:
A = 1
B = 10
REPEAT BEGIN
A = A * 2
ENDREP UNTIL A GT B
The next example sorts the elements of ARR using the inefficient bubble sort method.
REPEAT BEGIN
NOSWAP = 1
FOR I = 0, N - 2 DO IF arr[I] GT arr[I + 1]THEN BEGIN
NOSWAP = 0
T = arr[I] & arr[I] = arr[I + 1] & arr[I + 1] = T
ENDIF
ENDREP UNTIL NOSWAP
Tip: A more efficient way to sort elements is to use the SORT function.
Version History
See Also
BEGIN...END,
BREAK, CASE,
CONTINUE, FOR,
FOREACH, GOTO,
IF...THEN...ELSE,
SWITCH,
WHILE...DO
IDL Programming