Lua流程控制语法

目录

目标

判断语法

循环语法

先判断后循环

先循环后判断

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值