Until

根据条件判断是否继续执行 Loop 或 For 循环.

Loop {
    ...
} Until Expression

参数

Expression

任何有效的表达式.

备注

如果表达式被括在括号中, Until 后的空格和制表是可选的, 如 until(expression) 所示.

表达式在每次迭代后求值一次, 即使使用了 Continue 也会进行计算. 如果表达式计算结果为 false(即为空字符串或数值 0), 循环继续; 否则循环被打破且跳到 Until 后面一行继续执行.

Loop Until 是下列结构的简写形式:

Loop {
    ...
    if (Expression)
        break
}

不过, Loop Until 通常更容易理解, 且与上面不同的是, 可以与单行动作一起使用. 例如:

Loop
    x *= 2
Until x > y

Until 可以使用在任何 Loop 或 For 循环中. 例如:

Loop Read, A_ScriptFullPath
    lines .= A_LoopReadLine . "`n"
Until A_Index=5  ; 读取前五行.
MsgBox lines

如果 A_Index 用在 Expression 中, 那么它的值为刚结束的那次循环的索引.

Loop, While-loop, For-loop, Break, Continue, 区块, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, If (表达式)