#Lua 的 if 条件语句
条件语句根据条件的真(true
)假(false
)来控制程序的执行流程。
Lua 的 if
条件语句语法结构如下:
if 条件1 then
代码块1
elseif 条件2 then
代码块2
-- ...
elseif 条件n then
代码块n
else
代码块n+1
end
- 如果“条件1”为
true
则执行“代码块1” - 否则,如果“条件2”为
true
则执行“代码块2” - ...
- 如果“条件n”为
true
则执行“代码块n” - 否则,执行“代码块n+1”
Lua 支持以下比较运算符:
==
: 等于~=
: 不等于<
: 小于>
: 大于<=
: 小于等于>=
: 大于等于
这些操作的结果是 boolean
类型:值要么是 true
,要么是 false
。
示例:
SUNNY = 1 -- 晴天
RAINY = 2 -- 雨天
local weather = SUNNY
if weather == SUNNY then -- 如果是晴天
print("出门记得戴太阳镜")
elseif weather == RAINY then -- 否则,如果是雨天
print("出门记得带上雨伞")
end
运行结果:
出门记得戴太阳镜
#变量的作用域
作用域是指程序中定义的变量(或其他标识)符的可见性和生命周期范围,决定了变量(或其他标识)可以在哪些位置被使用。局部变量的作用域为其所在的代码块(例如 if
代码块)。
示例:
local x = 10 -- 作用域是当前文件
if true then
local y = 20 -- 作用域是当前 if 代码块
end
if false then
local y = 30 -- 作用域是当前 if 代码块,与前一个 if 中的 y 毫无关系
elseif true then
local z = 40 -- 作用域是当前 elseif 代码块
else
m = 30 -- 全局变量,作用域是全局
end
Lua 的条件语句、循环语句、函数以及 do ... end
块都是独立的代码块(作用域)。
#do ... end 代码块
Lua 的 do ... end
代码块可用创建独立的作用域,常用于限制局部变量的可用范围。
do
-- 代码块
end
示例:
do
local x = 10
print("代码块内部 x = ", x)
end
print("代码块外部 x = ", x)
运行结果:
代码块内部 x = 10 代码块外部 x = nil