目录

继续

优质
小牛编辑
129浏览
2023-12-01

跳过当前循环的剩余部分并继续下一次循环。在各种循环中都是有效的。

Continue [, LoopLabel]

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

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

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

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

相关

BreakLoopUntilWhile 循环For 循环区块标签

示例

; 此例显示 5 此MsgBox 消息框, 为从 6 到 10 的每个数字显示一次.
; 注意 Loop 的前 5 次循环, "continue" 命令
; 会使得循环在到达 MsgBox 前重新开始.
Loop, 10
{
    if A_Index <= 5
        continue
    MsgBox %A_Index%
}
; 从内嵌循环内部直接继续新的外层循环.
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 之前, 标签不能指向区块的末尾.
}