Lua - repeat...until 循环



forwhile循环不同,forwhile循环在循环顶部测试循环条件,而Lua编程语言中的repeat...until循环在循环底部检查其条件。

repeat...until循环类似于while循环,除了repeat...until循环保证至少执行一次。

语法

Lua编程语言中repeat...until循环的语法如下:

repeat
   statement(s)
until( condition )

请注意,条件表达式出现在循环的末尾,因此循环中的语句在条件被测试之前执行一次。

如果条件为假,控制流跳回do,并且循环中的语句再次执行。这个过程重复,直到给定的条件变为真。

流程图

repeat...until loop in Lua

repeat...until循环示例

示例:使用repeat until打印一定范围内的数字

在这个例子中,我们展示了如何使用repeat until循环打印从10到19的数字。这里我们用值10初始化了一个int变量i。然后在repeat until循环中,我们在repeat until循环体之后检查i是否大于20。在repeat until循环体中,我们打印i的值并将i的值加1。循环将一直运行,直到i大于20。一旦i为21,循环将停止执行,程序退出。

i = 10
repeat
   print("value of i:",i)
   i = i + 1
until i > 20

输出

当您构建并执行上述程序时,它会产生以下结果:

value of i:	10
value of i:	11
value of i:	12
value of i:	13
value of i:	14
value of i:	15
value of i:	16
value of i:	17
value of i:	18
value of i:	19
value of i:	20

示例:使用repeat until打印数组元素

在这个例子中,我们展示了如何使用repeat until循环打印数组的内容。这里我们创建了一个数字数组并初始化了一些值。我们创建了一个名为index的变量来表示迭代数组时的数组索引。在repeat until循环中,我们在循环体之后检查index是否大于数组的大小,并使用索引表示法打印数组的元素。在循环体中,index变量加1,循环继续,直到index大于数组的大小,循环退出。

numbers = {10, 20, 30, 40, 50}
i = 1
repeat
   print(numbers[i]) 
   i = i + 1
until i > #numbers

输出

当您构建并执行上述程序时,它会产生以下结果:

10
20
30
40
50

示例:实现无限repeat until循环

通过使用repeat until循环语句在lua中将“false”作为条件语句,也可以实现无限循环。

在这个例子中,我们展示了如何使用while循环实现无限循环。它将一直打印数字,直到您按ctrl+c终止程序。

i = 10
repeat
   print("value of i: ",i) 
   i = i + 1
until false

输出

当您构建并执行上述程序时,它会产生以下结果:

value of i: 	10
value of i: 	11
value of i: 	12
value of i: 	13
value of i: 	14
...
ctrl+c
lua_loops.htm
广告