一、Lua循环
-
Lua提供以下几种循环方式:
-
while: 首先判断终止条件为true时,然后再执行循环体语句;
-
for: 循环体执行的次数在for中指定;
-
repeat...until: 首先执行循环体,然后判断终止条件,终止条件为true时,循环退出;
-
循环嵌套
-
-
循环控制语句;
-
break: 退出当前循环或语句;
-
-
while循环:
-
语法:
-
while(condition)
-
do
-
statements
-
-
end
-
-
示例:
-
num = 1
-
while (num <= 10)
-
do
-
print("num=", num)
-
num = num + 1
-
-
end
-
-
-
for循环:
-
for循环分为两大类:数值型for循环和泛型for循环。
-
数值型for循环:
-
语法
-
for var=exp1,exp2,exp3 do
-
statements
-
-
end
-
说明:
-
var变量从exp1变化到exp2,变化的步长为exp3。exp3可选,默认步长为1.
-
exp1, exp2, exp3三个表达式仅在循环开始前求值。
-
-
-
示例
-
for var=10,1,-1 do
-
print(var)
-
-
end
-
-
-
泛型型for循环:
-
语法
-
a = {"one", "two", "three"}
-
for i, v in ipairs(a) do
-
print(i, v)
-
-
end
-
说明:
-
泛型for循环通过迭代器函数来遍历所有值;
-
ipairs()函数是Lua提供的一个迭代器函数,用来迭代数组;
-
-
-
-
-
repeat_until循环:
-
语法:
-
repeat
-
statements
-
-
untile(condition)
-
说明:condition为false时,循环继续执行。
-
-
示例:
-
num = 10
-
repeat
-
print(num)
-
num = num + 1
-
-
until(num > 15)
-
-
二、Lua流程控制:
-
Lua认为false和nil是假,其他为真。注意:0也是真。
-
if语句:
-
语法:
-
if(布尔表达式)
-
then
-
--[[ 布尔表达式为true执行的语句块 --]]
-
-
end
-
-
-
if...else语句:
-
语法:
-
if(布尔表达式)
-
then
-
--[[ 布尔表达式为true执行的语句块 --]]
-
-
else
-
--[[ 布尔表达式为false执行的语句块 --]]
-
-
end
-
-
-
if...elseif...else语句:
-
语法:
-
if(布尔表达式1)
-
then
-
--[[ 布尔表达式1为true时执行的语句块 --]]
-
-
elseif(布尔表达式2)
-
then
-
--[[ 布尔表达式2为true时执行的语句块 --]]
-
-
elseif(布尔表达式3)
-
then
-
--[[ 布尔表达式3为true时执行的语句块 --]]
-
-
else
-
--[[ 以上布尔表达式均为false时执行的语句块 --]]
-
-
end
-
-
-
if嵌套语句