重复执行一条或多条语句, 直到指定的表达式计算结果为假时终止.
While Expression
任何有效的表达式. 例如: while x < y
.
如果表达式括在括号中, While
后的空格或制表符是可选的, 例如 While(expression)
.
在每次重复执行前都会计算一次表达式. 如果表达式计算结果为 true(即除空字符串和数值 0 以外的任何结果), 那么执行循环体; 否则跳到循环体之后一行执行.
while 循环后通常跟着区块, 这是形成循环 主体 的语句的集合. 但是, 只有一个语句的循环不需要区块(为此, "if" 及其 "else" 计为单个语句).
One True Brace(OTB) 样式可选使用, 这使得开括号可以出现在同一行, 而不是下面一行. 例如: while x < y {
.
内置变量 A_Index 包含当前循环迭代的次数. 第一次执行循环的表达式和循环体时, 它包含 1. 第二次, 它包含 2; 等等. 如果内部循环被外部循环包围, 则内部循环优先. A_Index 在所有类型的循环内工作, 但在循环外为 0.
与所有循环一样, Break 可用于提前退出循环. 此外, Continue 可用于跳过当前迭代的其余部分, 在此期间 A_Index 增加 1, 而 while 循环的表达式将被重新计算. 如果仍然为 true, 则开始新的迭代; 否则, 循环结束.
循环后面可以有一个可选的 Else 语句, 如果循环的迭代次数为零, 则执行 Else 语句.
专用循环: 循环可以用来自动检索文件, 文件夹或注册表项(每次一个). 有关详情, 请参阅 file-loop 和 registry-loop. 此外, file-reading loops 可以对整个文件的内容进行操作, 每次一行. 最后, parsing loops 可以对可分隔的字符串中包含的各个字段进行操作.
Until, Break, Continue, 区块, Loop, For-loop, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, If (表达式)