Applies a condition to the continuation of a Loop or For-loop.
Loop { ... } Until Expression
Any valid expression.
The space or comma after Until
is optional if the expression is enclosed in parentheses, as in until(expression)
.
The expression is evaluated once after each iteration, and is evaluated even if continue was used. If the expression evaluates to false (which is an empty string or the number 0), the loop continues; otherwise, the loop is broken and execution continues at the line following Until.
Loop Until is shorthand for the following:
Loop { ... if (Expression) break }
However, Loop Until is often easier to understand and unlike the above, can be used with a single-line action. For example:
Loop x *= 2 Until x > y
Until can be used with any Loop or For. For example:
Loop Read, A_ScriptFullPath lines .= A_LoopReadLine . "`n" Until A_Index=5 ; Read the first five lines. MsgBox lines
If A_Index is used in Expression, it contains the index of the iteration which has just finished.
Loop, While-loop, For-loop, Break, Continue, Blocks, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, If (expression)