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

【入门夯实】string.rep:重复串与分隔线的生成写法

2026-09-25 13:18 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本入门夯实996引擎Luastring.rep重复串

学员常见误区

生成公告分隔线用循环拼接或手打 40 个等号——循环拼接每轮生成新串,40 轮就是 40 次分配;手打的等号改长度要逐个数。重复串的生成有专门接口。错误场景:

lua
local line = ""
for i = 1, 40 do
    line = line .. "="
end
print(line)

能跑但笨重:n 份重复串用拼接生成是平方级成本,n 大了肉眼可见地慢。

正确姿势

string.rep(s, n) 一行生成 n 份重复串,第三参数还能插入分隔符。规范写法。示例代码如下:

lua
local line = string.rep("=", 40)
print(line)
print(string.rep("ab", 3, "*"))

第一行输出 40 个等号;第二行输出 ababab——分隔符只插在片段之间,不追加在末尾。

引擎验证

三步验证:循环版与 rep 版的输出逐字符一致;加第三参数分隔符验证插位规则;在跑马灯消息里用 string.rep("=", 40) 做裁决之杖竞拍的标题分隔条,不同分辨率客户端的显示宽度保持一致。

举一反三

rep 配合长度计算可做简易排版补齐。示例代码如下:

lua
local rows = { "裁决之杖", "骨玉权杖", "龙纹剑" }
for _, name in ipairs(rows) do
    print(name .. string.rep(".", 20 - string.len(name)))
end

点线把名字补齐到统一宽度,右列价格自然对齐——注意 string.len 数的是字节,中文一个字占 3 字节,排版口径要按字节算。

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

入门夯实游戏功能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2026-09-26 22:24 996 技术组 · 0 阅读