Until [AHK_L 59+]

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

Loop {
    ...
} Until Expression

参数

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 循环, For 循环, Break, Continue, 区块, 文件和文件夹循环, 注册表循环, 文件读取循环, 解析循环, If (表达式)