CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
进阶实战语法算法996引擎

Lua变量遮蔽:local x=x的覆盖规则

2026-09-27 15:42 作者:996 技术组 996引擎Lua教程传奇脚本进阶实战语法算法996引擎

【语法】
一、机制原理
线上事故:计数器永远停在 0,排查半天发现函数里写了 local count = count + 1——右侧读的是外层计数,左侧却声明了一个新的同名局部把它盖住,赋的是自己作用域里的副本,外层纹丝不动。遮蔽规则一句话:声明即遮蔽,赋值不遮蔽。内层任何作用域里 local 同名变量,外层那个在之内不可见;不加 local 的赋值则永远落在已存在的外层变量上。local x = x 这个惯用法是"有意复制进新作用域",与手滑遮蔽只有一线之隔,参数同名遮蔽同理。
二、错误写法

lua
-- 错误:声明遮蔽,外层计数永不增长
local count = 0
local function add()
    local count = count + 1
end

三、正确写法

lua
local count = 0
local function add()
    count = count + 1
end
local function double(count)
    return count * 2
end
add()
add()
local p = getplayerbyname("shd01")
sendmsg(p, 1, count .. "/" .. double(5))

四、引擎验证
加号赋值后外层计数正确涨到 2;函数参数同名遮蔽只在函数体内生效,外界值 5 翻倍为 10,外层无感。
五、FAQ
问:local x = x 什么时候用?
答:有意把外层值复制进闭包或循环体作独立副本时。
问:怎么快速发现误遮蔽?
答:静态检查工具扫"声明未使用",名字风格分层。

作者履历与出处

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

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

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

LATEST ARTICLES

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

进阶实战游戏功能

竹蜻蜓:搓得越快飞得越高

【游戏功能】 竹蜻蜓是最低配的直升机:两片叶、一根杆,搓得够快就能上天。今天拆竹蜻蜓的表现,核心机制一句话——连点搓杆攒转速…

2026-09-28 22:28 996 技术组
进阶实战游戏功能

水枪打鸭:滋一下挪半寸

【游戏功能】 水枪打鸭是庙会射摊里的冷门冠军:不打气球不打玩具,专滋台上摇摇摆摆的鸭子——水柱推鸭的物理感是它的独门戏。今天…

2026-09-28 22:28 996 技术组
进阶实战游戏功能

抽积木:稳定度见底塔就倒

【游戏功能】 抽积木的紧张是会记账的:每抽一块塔身晃一下、稳定度掉一截,账记到见底,塔就倒了。今天拆抽积木的表现,看"稳定度…

2026-09-28 22:28 996 技术组
进阶实战游戏功能

吹泡泡:一戳就碎才上头

【游戏功能】 吹泡泡的停不下来定律:吹的时候笑,破的时候"哎呀",然后立刻再吹一串。泡泡的虹膜流转让每一颗都不重样,戳破瞬间…

2026-09-28 22:28 996 技术组
进阶实战游戏功能

大风车:吹口气等它慢慢停

【游戏功能】 拆一行代码: 风车的转速按时间衰减,吹一口气加一次转速——大风车的全部机制就是"加一把劲等它慢慢停"。今天讲大…

2026-09-28 22:28 996 技术组
进阶实战游戏功能

吹蜡烛:每口气都灭一片

【游戏功能】 生日会上最安静的三秒钟:歌声停、烛光摇、全桌人屏息等你吹——吹蜡烛是所有仪式里参与感最强的三秒钟,因为每个人都…

2026-09-28 22:28 996 技术组