在 Lua 中,循环结构有 while 和 for 两种基本形式。以下是它们的基本用法:

1. while 循环:

while 循环会在给定条件为真时执行循环体,直到条件为假。
local i = 1

while i <= 5 do
    print(i)
    i = i + 1
end

上述代码会输出数字 1 到 5。while 循环的语法是:
while condition do
    -- 循环体
end

2. for 循环:

for 循环可以迭代一个范围内的数值,也可以用于遍历数组或表。

数值范围:
for i = 1, 5 do
    print(i)
end

上述代码会输出数字 1 到 5。for 循环的语法是:
for variable = start_value, end_value[, step] do
    -- 循环体
end

step 是一个可选参数,表示循环迭代的步长,默认为 1。

遍历数组或表:
local fruits = {"apple", "banana", "orange"}

for index, value in ipairs(fruits) do
    print(index, value)
end

上述代码会输出数组中的每个元素及其索引。ipairs 用于迭代数组。

3. repeat...until 循环:

repeat...until 循环会先执行循环体,然后检查条件是否为真,如果为假,则继续执行循环体。
local i = 1

repeat
    print(i)
    i = i + 1
until i > 5

上述代码会输出数字 1 到 5。repeat...until 循环的语法是:
repeat
    -- 循环体
until condition

4. break 和 continue:

Lua 支持 break 用于退出循环,但不支持直接的 continue。可以使用 goto 语句来模拟 continue:
for i = 1, 5 do
    if i == 3 then
        goto continue
    end

    print(i)

    ::continue::
end

上述代码会输出数字 1、2、4、5。在 i 等于 3 时,goto continue 跳过了后续的代码。

这是 Lua 中循环结构的基本用法。选择适当的循环结构取决于具体的问题和需求。


转载请注明出处:http://www.zyzy.cn/article/detail/6489/Lua