Lua elseif条件判断

Lua elseif条件判断教程

Lua 中,关键字 if 是用于测试某个条件语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后的代码块,否则就忽略该代码块继续执行后续的代码。

elseif 关键字 用于在 if 语句条件不满足的情况下,继续执行 elseif 里面的逻辑判断,如果满足条件则执行 elseif 缩进里面的逻辑。elseif 语句只能写在 if 语句的同级代码的后面,且 elseif 语句可以写任意多个。

Lua elseif语句详解

语法

if (condition) then statement1 elseif (condition1) statement2 elseif (condition2) statement3 end

参数

参数 描述
if if 条件判断使用的关键字
condition 条件判断语句,必须返回真或者假
elseif elseif 条件判断使用的关键字
condition1 条件判断语句,必须返回真或者假,如果 condition 不满足,才会判断 condition1
condition2 条件判断语句,必须返回真或者假,如果 condition 和 condition1 都不满足,才会判断 condition2

说明

Lua 中的 elseif 语句后面的条件判断表达式只有在 if 条件不满足的情况下,才会测试 elseif 的条件。

这里,如果 if 的条件 condition 为假,此时会继续测试 elseif 的条件判断 condition1,如果此时 condition1 为真,那么下面的 condition2 就不会再继续判断。

否则,继续判断 condition2 的条件,如果满足,则执行,否则,什么都不执行。

案例

if语句条件为真

如果 if 语句条件为真,则不会执行 elseif 相对应的代码

#!/usr/bin/lua print("haicoder(www.haicoder.net)\n") local a = 10 local b = 5 if (a > 8) then print("a > 8") elseif (a > b) then print("a > b") end print("Over")

程序运行后,控制台输出如下:

03_Lua elseif语句.png

首先,我们定义了两个 变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 8 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 elseif 语句,判断 a > b 的条件时否满足,如果 if 语句不满足,elseif 语句满足,则才会执行 elseif 语句里面的逻辑。

最后,我们的程序输出了 "a > 8""Over" ,因为在第一个判断时 a > 8 的条件是成立的,所以会执行 if 缩进里面的输出语句,此时,虽然 elseif 语句里面的逻辑也是成立的,但因为 if 语句已经成立了,if 语句与 elseif 语句是互斥的执行,所以 elseif 里面的语句未能执行。最后一个输出语句不管条件满足不满足则都会执行。

if语句条件为假

如果 if 语句条件为假,elseif 为真,此时会执行 elseif 相对应的代码

#!/usr/bin/lua print("haicoder(www.haicoder.net)\n") local a = 10 local b = 5 if (a > 20) then print("a > 20") elseif (a > b) then print("a > b") end print("Over")

程序运行后,控制台输出如下:

04_Lua elseif语句.png

首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 elseif 语句,判断 a > b 的条件时否满足,如果 if 语句不满足,elseif 语句满足,则才会执行 elseif 语句里面的逻辑。

最后,我们的程序输出了 "a > b""Over" ,因为在第一个判断时 a > 20 的条件是不成立的,所以不会执行 if 大括号里面的输出语句,此时,elseif 语句里面的逻辑是成立的,而且前面的 if 语句不成立了,所以 elseif 里面的语句能成功执行。最后一个输出语句不管条件满足不满足则都会执行。

多个elseif语句

多个 elseif 语句,会被依次判断,直到满足的第一个执行

#!/usr/bin/lua print("haicoder(www.haicoder.net)\n") local a = 10 local b = 5 if (a > 20) then print("a > 20") elseif (a > 15) then print("a > 15") elseif (a > 10) then print("a > 10") elseif (a > b) then print("a > b") end print("Over")

程序运行后,控制台输出如下:

05_Lua elseif语句.png

首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 elseif 语句,判断 a > 15 的条件时否满足,判断 a > 10 的条件是否满足,判断 a > b 的条件是否满足,如果满足任意一个,则会执行相对应的代码。

最后,我们的程序输出了 "a > b""Over" ,因为在第一个判断时 a > 20 的条件是不成立的,所以不会执行 if 缩进里面的输出语句,此时,最后一个 elseif 语句里面的逻辑是成立的,而前面所有的 elseif 语句都不成立,所以最后一个 elseif 里面的语句被执行。最后一个输出语句不管条件满足不满足则都会执行。

Lua elseif条件判断总结

elseif 关键字用于在 if 语句条件不满足的情况下,继续执行 elseif 里面的逻辑判断,如果满足条件则执行 elseif 缩进里面的逻辑。elseif 语句只能写在 if 语句的同级代码的后面,且 elseif 语句可以写任意多个。Lua elseif 语句语法:

if (condition) then statement1 elseif (condition1) statement2 elseif (condition2) statement3 end