# 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 (表达式)

dftg