用 --[[ ]] 多行注释屏蔽代码时,被注释的内容里自带 ]](如 t[a[1]] 这类嵌套索引)——注释在遇到第一个 ]] 时提前终止,后面的"注释"变成活代码被执行,报出莫名其妙的错误。错误场景:
--[[
local idx = t[a[1]]
print("这行会被执行")
]]
print("正常执行")
a[1]] 里的 ]] 把注释关掉了,"这行会被执行"真的执行了——屏蔽失败且报错位置远离病灶。
被注释内容可能含 ]] 时,用带等号层级的长括号定界;或直接逐行 -- 注释。规范写法。示例代码如下:
--[==[
local idx = t[a[1]]
print("这行不会被执行")
]==]
print("正常执行")
[==[ 与 ]==] 的层级等号让边界不歧义,内容里的 ]] 不再误伤。
三步验证:写含 a[1]] 的普通 --[[ 注释,复现提前终止(中间的 print 抢先执行);换成 [==[ ]==] 后整块静默;再用长括号注释快速开关一段烈火剑法的调试输出,验证开关动作干净利落。
注释也常用于临时禁用逻辑,长期禁用应删除而非收藏。示例代码如下:
-- 双倍经验活动已于 20260901 下线,改走日常经验
-- exp = exp * 2
exp = exp + 10
print(exp)
保留一行说明、删掉死代码——注释解释"为什么没有这段",而不是替版本管理收藏尸体。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏】 一、一行代码拆解:if price < WATCH[goods] then notify end —— 关注降价的…
【游戏】 一、业务场景:赛季结算发现一名玩家胜率 10% 却排在黄金段——历史计分只加不减,积分体系失效 3 个月;积分赛—…
【语法】 一、抛坑提问:3 对括号能组成多少种合法序列?答案是 5——卡塔兰数列:每一项等于前一项乘 2 倍的 2n 减 1…
【语法】 一、抛坑提问:不想用全局随机函数(怕多处共享种子互相干扰),可自实现一个独立随机序列——线性同余法三行核心:乘、加…
【游戏】 一、一行代码拆解:PENDING[outId] = {by = actor, at = now} —— 双人复核的…
【语法】 一、隐蔽陷阱:圆周率小数位背不出更多就不算理解随机模拟?用蒙地卡罗法随机撒点统计,10 万个点能把圆周率估到两位小…