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

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

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

与或非听起来玄,其实就是三张通行证。

一、and(与)= 过安检

lua
if 1 == 1 and 2 == 2 then
    print("通过")   -- 两个都满足才走
end

机票 + 身份证,少一样不让过。后面还能无限加条件。

二、or(或)= 乘电梯

lua
local a, b, c, d = 1, nil, false, 4
if a or b or c or d then
    print("能上楼")  -- 有一张电梯卡就行
end

只要有一个为真,就能进。四个都假才进不去。

三、not(非)= 翻个面

lua
if not (1 == 2) then
    print("成立")  -- (1==2) 是假,not 假 = 真
end

括号优先级高,先算括号里,再取反。

四、短路与「返回值」

Lua 的 and / or 不只返回 true/false,还返回实际参与判断的值:

lua
print(1 or 2)        --> 1   (左边已真,or 短路,把 1 抛出来)
print(false or 2)    --> 2   (左边假,看右边,抛 2)
print(nil or nil)    --> nil (都假,抛最后一个)
print(1 and 2)       --> 2   (左边真,再看右边,抛 2)
print(false and 2)   --> false(左边假,and 短路)

记忆法:

  • or 找第一个真,找完就丢给你
  • and 要都真,丢最后一个;中途假就丢那个假

五、短路写法(进阶好用)

lua
-- 传统
if a > 100 then
    print("成功")
else
    print("失败")
end

-- 短路一行
a > 100 and print("成功") or print("失败")

注意:当「成功」表达式本身可能是假时,or 会误走后面,复杂场景还是用 if 更稳。

六、组合安检练习

lua
-- 等级够 AND 职业对 AND 有邀请码
if lv >= 10 and job == 0 and invite ~= nil then
    -- 过三道闸
end

今日练习:预测 print(1 or 2)、print(false or nil)、print(1 and 2) 的输出;再写「等级≥10 且职业=战士」的领取条件。

作者履历与出处

本文由 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 吴大圣老师