概述
- Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。
- 控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真。
- 要注意的是Lua中 0 为 true:
--[ 0 为 true ]
if(0)
then
Chat:sendSystemMsg("0 为 true", 0)
end
序号 | 语句 | 描述 |
---|---|---|
1 | if语句 | if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。 |
2 | if...else语句 | if 语句 可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。 |
3 | if嵌套语句 | 你可以在if 或 else if中使用一个或多个 if 或 else if 语句 。。 |
if语句
Lua if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
--以下实例用于判断变量 a 的值是否小于 20:
--[ 定义变量 --]
a = 10;
--[ 使用 if 语句 --]
if( a < 20 )
then
--[ if 条件为 true 时打印以下信息 --]
Chat:sendSystemMsg("a 小于 20" , 0);
end
Chat:sendSystemMsg( "a的值为:"..a.."", 0);
--输出的结果为:
--a小于20
--a的值为:10
if...else语句
Lua的if 语句可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码块。
--以下实例用于判断变量 a 的值:
a = 100;
--[ 检查条件 --]
if( a < 20 )
then
--[ if 条件为 true 时执行该语句块 --]
Chat:sendSystemMsg("a 小于 20",0 )
else
--[ if 条件为 false 时执行该语句块 --]
Chat:sendSystemMsg("a 大于 20",0 )
end
Chat:sendSystemMsg("a的值为 :"..a.."", 0)
--输出的结果为:
--a 大于 20
--a的值为:100
Lua的if 语句可以与 elseif...else 语句搭配使用, 在 if 条件表达式为 false 时执行 elseif...else 语句代码块,用于检测多个条件语句。
--以下实例对变量 a 的值进行判断:
--[ 定义变量 --]
a = 100
--[ 检查布尔条件 --]
if( a == 10 )
then
--[ 如果条件为 true 打印以下信息 --]
Chat:sendSystemMsg("a 的值为 10" ,0)
elseif( a == 20 )
then
--[ if else if 条件为 true 时打印以下信息 --]
Chat:sendSystemMsg("a 的值为 20" ,0)
elseif( a == 30 )
then
--[ if else if condition 条件为 true 时打印以下信息 --]
Chat:sendSystemMsg("a 的值为 30" ,0)
else
--[ 以上条件语句没有一个为 true 时打印以下信息 --]
Chat:sendSystemMsg("没有匹配 a 的值" ,0)
end
Chat:sendSystemMsg("a 的值为 :".. a .."", 0)
if嵌套语句
Lua 的if 语句允许嵌套, 这就意味着你可以在一个 if 或 else if 语句中插入其他的 if 或 else if 语句。
--以下实例用于判断变量 a 和 b 的值,并输出在聊天框:
--[ 定义变量 --]
a = 100;
b = 200;
--[ 检查条件 --]
if( a == 100 )
then
--[ if 条件为 true 时执行以下 if 条件判断 --]
if( b == 200 )
then
--[ if 条件为 true 时执行该语句块 --]
Chat:sendSystemMsg("a 的值为 100 ,b 的值为 200" );
end
end
Chat:sendSystemMsg("a 的值为 :" .. a.."", 0);
Chat:sendSystemMsg("b 的值为 :".. b .."", 0 );