zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Lua流程控制语法

流程控制 语法 lua
2023-09-27 14:28:03 时间

目录

目标

判断语法

循环语法

先判断后循环

先循环后判断

for循环

数值循环

table循环


目标

熟练使用Lua流程控制语法(包含判断语法和循环语法)。


判断语法

--输出:表达式为true
if 1<2 then
    print("表达式为true")
end
--------------------------------------------------------------------------
--输出:表达式为false
if 1~=1 then
    print("表达式为true")
else
    print("表达式为false")
end
--------------------------------------------------------------------------
--输出:未知
a = 4
if a == 1 then
    print(1)
elseif a == 2 then
    print(2)
elseif a == 3 then
    print(3)
else
    print("未知")
end

循环语法

先判断后循环

--从1加到100(先判断后循环)
i = 1
sum = 0
while (i <= 100) do
    sum = sum + i
    i = i + 1;
end
print(sum)

先循环后判断

--从1加到100(先循环后判断)
j = 0
sum = 0
repeat
    sum = sum + j
    j = j + 1
until (j > 100)
print(sum)

for循环

数值循环

--[[
循环结构:
for 初始值, 最终值, [步长] do
    [循环体]
end
]]
--------------------------------------------------------------------------
--方法一:从1加到100
sum=0
for i = 1, 100 do
    sum=sum+i;
end
print(sum)

--方法二:从1加到100
sum2=0
for i = 100, 1,-1 do
    sum2=sum2+i;
end
print(sum2)
print("----------")
--输出1到100之间的偶数
for i = 100, 2,-2 do
    print(i)
end

table循环

--[[
循环结构:
for 下标, [值] in ipairs(table名称) do
    [循环体]
end
]]
----------------------------------操作数组----------------------------------
--输出arr的下标和值
arr={10,20,nil,40}
for k, v in ipairs(arr) do
    --遇到nil中断
    print(k,v)
end
--输出arr的下标
for  k in ipairs(arr) do
    --遇到nil中断
    print(k)
end

--输出arr的下标和值
for k, v in pairs(arr) do
    --遇到nil跳过并继续循环
    print(k,v)
end
--输出arr的下标和值,k=2就中断。
for k, v in pairs(arr) do
    print(k,v)
    if k==2 then
        print("输出arr的下标和值,k=2就中断。")
        break
    end
end
----------------------------------操作键值对----------------------------------
--[[
循环结构:
for 键, [值] in pairs(table名称) do
    [循环体]
end
]]
--输出arr2的键值对
arr2={a1="黄裳",a2="王重阳",a3="斗酒僧",a4="扫地僧"}
for k, v in pairs(arr2) do
    print(k,v)
end
--输出arr2的键
for k  in pairs(arr2) do
    print(k )
end