目录
目标
熟练使用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