Lua中的repeat...until循环语句使用教程
Lua中的repeat...until循环将条件判断置于循环末尾,确保循环体至少执行一次。每次执行后检查条件,若为假则继续循环,直到条件为真时终止。该结构适用于需先执行一次操作的场景,例如输入验证等场景。
在Lua里,有一个循环结构很有意思——repeat...until。它的工作方式和常见的for或while循环不太一样:后两者都是在每次循环开始前先检查条件,而repeat...until恰恰相反,它把条件判断放到了循环的末尾。这意味着什么呢?简单说,循环体至少会被执行一次,然后再看条件是否满足。
这其实很像其他语言里的do...while循环——都是“先干再说,不行再停”的节奏。来看一下它的语法:
statement(s)
until( condition )
注意,条件表达式是写在until后面的,而且在整个循环执行一次之后才会被测试。如果条件为假(false),控制流就会跳回repeat处,继续执行循环体里的语句;反复进行,直到条件变为真为止。整个过程可以用下面这张流程图来理解:

光说理论有点干,直接上个例子看看效果:
a = 10
--[ repeat loop execution --]
repeat
print("value of a:", a)
a = a + 1
until( a > 15 )
运行这段代码,输出结果是这样的:
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
可以看到,当a从10开始,每循环一次就打印当前值并加1,直到a大于15时才退出。注意这里打印了15之后才退出——因为循环体执行完才检查条件,此时a已经变成16了,条件a > 15为真,循环终止。换句话说,这个循环保证了a从10到15一共6次输出,哪怕条件一开始就不满足(比如a初始就是20),它也会先执行一次再判断。这个特点在某些场景下非常实用,比如需要先做一次初始化操作,或者确保某段代码至少运行一次。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















