Lua 流程控制

Lua 流程控制

Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。

在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。

控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真。

要注意的是Lua中 0 为 true:

实例

if (0)
then
print("0 为 true")
end

以上代码输出结果为:

0 为 true

Lua 提供了以下控制结构语句:

语句 描述
if 语句 if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
if...else 语句 if 语句 可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。
if 嵌套语句 你可以在ifelse if中使用一个或多个 ifelse if 语句 。

if语句

语法

if(布尔表达式)
then
--[ 在布尔表达式为 true 时执行的语句 --]
end

实例

--[ 定义变量 --]
a = 10;
--[ 使用 if 语句 --]
if (a < 20)
then
--[ if 条件为 true 时打印以下信息 --]
print("a 小于 20");
end
print("a 的值为:", a);

if...else 语句

语法

if(布尔表达式)
then
--[ 布尔表达式为 true 时执行该语句块 --]
else
--[ 布尔表达式为 false 时执行该语句块 --]
end

实例

--[ 定义变量 --]
a = 100;
--[ 检查条件 --]
if (a < 20)
then
--[ if 条件为 true 时执行该语句块 --]
print("a 小于 20")
else
--[ if 条件为 false 时执行该语句块 --]
print("a 大于 20")
end
print("a 的值为 :", a)

if...elseif...else 语句

语法

if( 布尔表达式 1)
then
--[ 在布尔表达式 1 为 true 时执行该语句块 --]
elseif( 布尔表达式 2)
then
--[ 在布尔表达式 2 为 true 时执行该语句块 --]
elseif( 布尔表达式 3)
then
--[ 在布尔表达式 3 为 true 时执行该语句块 --]
else
--[ 如果以上布尔表达式都不为 true 则执行该语句块 --]
end

实例

--[ 定义变量 --]
a = 100
--[ 检查布尔条件 --]
if (a == 10)
then
--[ 如果条件为 true 打印以下信息 --]
print("a 的值为 10")
elseif (a == 20)
then
--[ if else if 条件为 true 时打印以下信息 --]
print("a 的值为 20")
elseif (a == 30)
then
--[ if else if condition 条件为 true 时打印以下信息 --]
print("a 的值为 30")
else
--[ 以上条件语句没有一个为 true 时打印以下信息 --]
print("没有匹配 a 的值")
end
print("a 的真实值为: ", a)

Lua if 嵌套语句

语法

if( 布尔表达式 1)
then
--[ 布尔表达式 1 为 true 时执行该语句块 --]
if(布尔表达式 2)
then
--[ 布尔表达式 2 为 true 时执行该语句块 --]
end
end

实例

--[ 定义变量 --]
a = 100;
b = 200;
--[ 检查条件 --]
if (a == 100)
then
--[ if 条件为 true 时执行以下 if 条件判断 --]
if (b == 200)
then
--[ if 条件为 true 时执行该语句块 --]
print("a 的值为 100 b 的值为 200");
end
end
print("a 的值为 :", a);
print("b 的值为 :", b);
posted @   红尘过客2022  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示