循环语句

优质
小牛编辑
136浏览
2023-12-01
  • while 循环:while 条件 do … end
  • repeat 循环:repeat … until 条件
  • for 循环:for 变量 = 初值,终点值,步进 do … end
  • for 循环:for 变量 1,变量 2,… ,变量 N in表或枚举函数 do … end

while 循环

my_table = {1,2,3}
local index = 1  -- 注意: table 中的索引从 1 开始

while my_table[index] do   -- 只要条件返回 true,就一直执行循环 
print(my_table[index]) 
index = index +1   -- Lua 中没有 i++ 的写法,所以只能用这种写法
end

-- 输出 1
--      2
--      3

repeat 循环(相当于其他语言中的 do…while)

local snum = 1 --起始值

repeat
print("snum is "..snum)
snum = snum + 1
until snum == 4   --当 snum 等于 4 时 跳出循环

--输出:
--snum is 1
--snum is 2
--snum is 3

for 循环

for i = 1, #my_table do --#my_table 表示取表的长度,上边定义了长度为 3
print(my_table[i])
end
for i=1,10,2 do -- 这里i=1表示起始值, 10 表示最大值, 2 表示步进值(可以没有,默认值为 1,也就是其他语言里的 i++)
print(i)
end

注意一下,for 的循环变量总是只作用于 for 的局部变量,你也可以省略步进值,这时候,for 循环会使用 1 作为步进值。 可以用 break 来中止一个循环。