Lua if...else 语句
Lua if 语句可以和 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码块
Lua 语言中 if...else 语句语法格式如下:
if( condition ) then --[ 布尔表达式 condition 为 true 时执行该语句块 --] statement1 else --[ 布尔表达式 condition 为 false 时执行该语句块 --] statement2 end
在布尔表达式 condition 为 true 时会运行 if 中的代码块 statement1 会被执行 在 condition 为 false 时,else 的代码块 statement2 会被执行
注意
Lua 中的 false 和 nil 为假,true 和非 nil 为真
Lua 中 0 为 true
if...else 语句流程图如下
Lua 语言中 if...else 语句流程图如下所示:
范例
下面的范例用于判断 age 的值
-- !/usr/bin/lua -- -*- encoding:utf-8 -*- -- filename: main.lua -- author: 简单教程(www.twle.cn) -- Copyright © 2015-2065 www.twle.cn. All rights reserved. --[ 定义变量 --] age = 25; --[ 检查条件 --] if( age < 18 ) then --[ if 条件为 true 时执行该语句块 --] print("age 小于 18" ) else --[ if 条件为 false 时执行该语句块 --] print("age 大于 18" ) end print("age 的值为 :", age )
运行以上 Lua 脚本,输出结果如下:
$ lua main.lua age 大于 18 age 的值为 : 25
if...elseif...else 语句
Lua if 语句可以与 elseif...else 语句搭配使用。
在 if 条件表达式为 false 时执行 elseif...else 语句代码块,用于检测多个条件语句
Lua if...elseif...else 语句语法格式如下:
if( condition1 ) then --[ 在布尔表达式 condition1 为 true 时执行该语句块 --] statement1 elseif( condition2 ) then --[ 在布尔表达式 condition2 为 true 时执行该语句块 --] statement2 elseif( condition3 ) then --[ 在布尔表达式 condition3 为 true 时执行该语句块 --] statement3 else --[ 如果以上布尔表达式都不为 true 则执行该语句块 --] statement4 end
在 condition1 位真时,会执行执行代码块 statement1,否则判断 condition2,如果 condition2 为真,则运行代码块 statement2,以此类推,如果没有一个 condition 为真,则执行 else 里的代码块 statement4
范例
下面的范例用于判断 age 的值
-- !/usr/bin/lua -- -*- encoding:utf-8 -*- -- filename: main.lua -- author: 简单教程(www.twle.cn) -- Copyright © 2015-2065 www.twle.cn. All rights reserved. --[ 定义变量 --] age = 27; --[ 检查条件 --] if( age < 18 ) then --[ if 条件为 true 时执行该语句块 --] print("age 小于 18" ) elseif ( age < 25 ) then print("age 小于 25") elseif ( age < 30 ) then print("age 小于 30") else --[ if 条件为 false 时执行该语句块 --] print("age 大于 30" ) end print("age 的值为 :", age )
运行以上 Lua 脚本,输出结果如下:
$ lua main.lua age 小于 30 age 的值为 : 27