Continue

跳过当前循环语句的剩余部分并继续下一次循环.

Continue , LoopLabel

参数

LoopLabel [AHK_L 59+]
LoopLabel 标识了该语句应该应用于哪个循环; 通过标签名或嵌套层级的数值. 如果省略或为 1, 此语句应用于它所在的最内层循环. LoopLabel 必须为常量, 不支持变量和表达式. 如果指定了标签, 则它必须直接指向循环语句.

备注

Continue 的行为如同直接到达了循环的闭括号:

  1. 它让 A_Index 加 1.
  2. 它跳过了循环体的剩余部分.
  3. 检查循环条件(如果有) 判断是否满足. 如果满足, 开始新的循环; 否则循环结束.

鼓励使用 Break 和 Continue 代替 Goto 因为它们通常让脚本更容易阅读和维护.

相关

Break, Loop, Until, While 循环, For 循环, 区块, 标签

示例

#1: 此例显示 5 次 MsgBox 消息框, 为从 6 到 10 的每个数字显示一次. 注意 Loop 的前 5 次循, Continue 语句会使得循环在到达 MsgBox 前重新开始.

Loop, 10
{
    if (A_Index <= 5)
        continue
    MsgBox %A_Index%
}

#2: 从内嵌循环内部直接继续新的外层循环.

outer:
Loop 3
{
    x := A_Index
    Loop 3
    {
        if (x*A_Index = 4)
            continue outer  ; 等同于 continue 2goto continue_outer.
        MsgBox %x%,%A_Index%
    }
    continue_outer: ; 用于 goto 命令.
    ErrorLevel := ErrorLevel ; 在修订号 57 之前, 标签不能指向区块的末尾.
}