CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
Lua基础判断新手入门

判断分支实战:if / elseif / else 与防卫语句

2026-10-18 01:01 作者:吴大圣老师 Lua基础判断新手入门

判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。

一、三种判断结构

lua
-- 1) 最简:只有条件成立才走
if n == 0 then
    print("为 0")
end

-- 2) 二选一
if n == 0 then
    print("为 0")
else
    print("其他")
end

-- 3) 多路分支(唯一出口)
if n == 0 then
    print("为 0")
elseif n == 1 then
    print("为 1")
elseif n == 2 then
    print("为 2")
else
    print("其他")
end

elseif 链是唯一分支跳转:命中一个就跳出,后面不再判断。

二、elseif 链 vs 多个独立 if

lua
-- elseif:命中即停
if n > 0 then print("A")
elseif n > 1 then print("B")
elseif n > 2 then print("C")
end

-- 独立 if:每个都可能走
if n > 0 then print("A") end
if n > 1 then print("B") end
if n > 2 then print("C") end

当 n = 2 时:

  • elseif 链:只打印 A(第一个满足就停)
  • 独立 if:打印 A、B(继续往下比)

怎么选:互斥场景用 elseif;可以同时触发的用多个 if。

三、防卫语句(Guard)

领奖条件「等级 ≥ 10 且职业 = 战士」可以写成嵌套 if,但更清爽的是:

lua
if level < 10 then
    say("等级不足")
    return
end
if job ~= 0 then
    say("职业不对")
    return
end
-- 能走到这里 = 全部条件已满足
GiveItem(actor, "木剑", 1)

先挡不合格的,合格的直接往下执行。读代码像走流程图,少一层缩进。

四、真假口诀

只有两种「假」:

  • false
  • nil(空值)

0 也是真! 因为 0 真实存在。

lua
if 0 then print("真") end      --> 真
if nil then print("?") end     --> 不走
if false then print("?") end   --> 不走

五、循环里嵌判断

lua
for i = 1, 10 do
    if i == 5 then print("—— 分割 ——") end
    print(i)
end

循环管重复,判断管分叉,组合是写功能的基本功。

今日练习:写一个 elseif 链区分 0/1/2/其他;再写防卫语句版领奖逻辑(等级不足 / 职业不对直接 return)。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

Lua实战NPC

NPC 界面与 GM 小工具:say / button / link 传参

会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…

2026-10-18 01:01 吴大圣老师
Lua基础逻辑运算

与或非:and / or / not 与短路真相

与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…

2026-10-18 01:01 吴大圣老师
Lua基础判断

判断分支实战:if / elseif / else 与防卫语句

判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …

2026-10-18 01:01 吴大圣老师
Lua基础Table

从表走到迭代:pairs/ipairs 预告与三大坑

表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…

2026-10-18 00:25 吴大圣老师
Lua基础Table

表是引用:改了别人,怎么就跟着变了

「我只改了 b,a 怎么变了?」——这是表引用问题的标准嚎叫。今天把钥匙和锁彻底讲清。 本课互动训练 :专属动画 + 选择题…

2026-10-18 00:25 吴大圣老师
Lua实战Table

玩家背包实战:用表搭一个角色数据库

理论够了,进游戏干一票:用一张表,存下角色的名、级、包、属性,并用它驱动「给我装备」。 本课互动训练 :专属动画 + 选择题…

2026-10-18 00:25 吴大圣老师