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

光说理论有点干,直接上个例子看看效果:
复制代码 代码如下:
--[ local variable definition --]
a = 10
--[ repeat loop execution --]
repeat
print("value of a:", a)
a = a + 1
until( a > 15 )
a = 10
--[ repeat loop execution --]
repeat
print("value of a:", a)
a = a + 1
until( a > 15 )
运行这段代码,输出结果是这样的:
复制代码 代码如下:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of 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),它也会先执行一次再判断。这个特点在某些场景下非常实用,比如需要先做一次初始化操作,或者确保某段代码至少运行一次。
作者最新文章
免注册Word转PDF在哪里?Word转PDF手机电脑都能用
2026-11-08 15:29
xshell如何使用密钥连接服务器
2026-11-05 21:38
动漫共和国资源入口及正版地址分享
2026-11-04 12:05
xshell端口ssh SSH隧道建立方法
2026-11-03 10:11
CorelDRAW是免费软件吗?详解试用、订阅与一次性购买收费模式
2026-10-30 19:32
上一篇:
详解Lua中的while循环语句的使用
下一篇:
详解Lua中的数组概念知识
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































