CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
入门夯实996引擎长字符串转义

【入门夯实】长字符串字面量:双层方括号里的转义豁免

2026-09-25 13:18 作者:996 技术组 996引擎Lua教程传奇脚本入门夯实996引擎Lua长字符串转义

学员常见误区

以为 [[ ]] 长括号串与普通引号串一样处理转义:在里面写 \n 想要换行——长字符串不做任何转义,\n 就是字面的反斜杠加 n 两个字符。反向场景倒是它的长处:Windows 路径里的反斜杠在短字符串里要双写,长括号里原样保留。错误场景:

lua
local s = [[第一行\n第二行]]
print(s)

输出"第一行\n第二行"——反斜杠原样打印,没有换行,玩家收到一条带着 \n 字样的公告。

正确姿势

要转义效果用普通引号串;要原样保留(路径、代码片段、模板)用长括号,两者不混用。规范写法。示例代码如下:

lua
local s1 = "第一行\n第二行"
local s2 = [[第一行\n第二行]]
print(s1 == s2)
print(s2)

输出 false——两个串内容不同;s2 打印出字面的 \n。写 F:\map\boss 这类路径常量时长括号免掉 4 处双写反斜杠,与 "F:\\map\\boss" 等价。

引擎验证

三步验证:短引号版 sendmsg 发出真换行的两行公告;长括号版发出带字面 \n 的单行——对比一目了然;把沙巴克攻城脚本的片段存进长括号常量,片段里的反斜杠与引号全部原样保留,无需逐个转义。

举一反三

内容里自带 ]] 时,用带等号的长括号定界。示例代码如下:

lua
local code = [==[
if a[1]] then print("ok") end
]==]
print(code)

[==[ 与 ]==] 的层级等号让边界不歧义——保存 Lua 片段与模板串时,等号层级是标配写法。

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

入门夯实游戏功能

关注降价:关注商品的降价提醒

【游戏】 一、一行代码拆解:if price < WATCH[goods] then notify end —— 关注降价的…

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

竞技场积分赛:胜负积分的晋级规则

【游戏】 一、业务场景:赛季结算发现一名玩家胜率 10% 却排在黄金段——历史计分只加不减,积分体系失效 3 个月;积分赛—…

2026-09-26 22:24 996 技术组
进阶实战语法算法

Lua卡塔兰数:合法括号序列的计数

【语法】 一、抛坑提问:3 对括号能组成多少种合法序列?答案是 5——卡塔兰数列:每一项等于前一项乘 2 倍的 2n 减 1…

2026-09-26 22:24 996 技术组
进阶实战语法算法

Lua线性同余:自实现随机数生成器

【语法】 一、抛坑提问:不想用全局随机函数(怕多处共享种子互相干扰),可自实现一个独立随机序列——线性同余法三行核心:乘、加…

2026-09-26 22:24 996 技术组
策划架构游戏功能

双人复核:大额支取的双人确认

【游戏】 一、一行代码拆解:PENDING[outId] = {by = actor, at = now} —— 双人复核的…

2026-09-26 22:24 996 技术组
进阶实战语法算法

Lua蒙地卡罗:随机撒点估算圆周率

【语法】 一、隐蔽陷阱:圆周率小数位背不出更多就不算理解随机模拟?用蒙地卡罗法随机撒点统计,10 万个点能把圆周率估到两位小…

2026-09-26 22:24 996 技术组