lua流程控制
语句 | 描述 |
if语句 | if语句由一个布尔表达式作为条件判断,其后紧跟其他语句 |
if ... else 语句 | if语句为false时,执行else语句代码 |
if 嵌套 | 可以在if 或else if 中使用一个或多个if 或 else if 语句 |
if 语句语法格式
if(布尔表达式)
then
--[ 在布尔表达式为true时执行的语句--]
end
控制结构的条件表达式结果可以是任何值,lua认为false和nil为假,true和非nil为真。
要注意 lua中0为true:
if(0)
then
print("0 is true")
end
root@mzs:/home/mzs/lua_study/lua_mzs/hello# lua if.lua
0 is true
实例:
a=10
if(a < 20)
then
print("a < 20")
end
root@mzs:/home/mzs/lua_study/lua_mzs/hello# lua if.lua
a < 20
a == 10
if ... else语句
if ... else 语法:
if(布尔表达式)
then
--[ 在布尔表达式为true时执行的语句--]
else
--[ 在布尔表达式为false时执行的语句--]
end
实例
a=100
if(a < 20)
then
print("a < 20")
else
print("a >= 20")
end
print("a == ",a)
root@mzs:/home/mzs/lua_study/lua_mzs/hello# lua if.lua
a >= 20
a == 100
if...elseif..else 语句
if(布尔表达式1)
then
--[ 在布尔表达式1为true时执行的语句--]
elseif(布尔表达式2)
then
--[ 在布尔表达式2为true时执行的语句--]
elseif(布尔表达式3)
then
--[ 在布尔表达式3为true时执行的语句--]
else
--[ 以上布尔表达式都为false时执行的语句--]
end
实例
a=100
if(a == 10)
then
print("a == 10")
elseif(a == 20)
then
print("a == 20")
elseif(a == 30)
then
print("a == 30")
else
print("没有匹配a的值")
end
print("a == ",a)
root@mzs:/home/mzs/lua_study/lua_mzs/hello# lua if.lua
没有匹配a的值
a == 100