现代 Lua 工具链:LuaLS 类型注解、Stylua 与工程化实践
一文搭好现代 Lua 开发环境:用 LuaLS 类型注解补齐动态类型短板,Stylua 统一代码风格,Luacheck 拦截隐患,busted 跑单测,再配一条开箱即用的 CI 流水线。
posts
一文搭好现代 Lua 开发环境:用 LuaLS 类型注解补齐动态类型短板,Stylua 统一代码风格,Luacheck 拦截隐患,busted 跑单测,再配一条开箱即用的 CI 流水线。
xLua 是腾讯开源的 Unity Lua 热更新方案,本文从接入安装讲起,覆盖 C# 与 Lua 互调、代码生成、[Hotfix] 热补丁、内存 GC、脚本打包发布全流程,并整理常见坑清单,帮你把 xLua 落到真实项目里。
深入 Redis Lua 脚本的原子执行机制,手把手实现固定窗口、滑动窗口与令牌桶限流、安全的分布式锁、秒杀防超卖与排行榜封装,并讲解 EVALSHA、脚本调试与性能陷阱。
从执行阶段、cosocket 非阻塞 IO、共享内存缓存讲起,用 Lua 在 OpenResty 上逐步实现限流、JWT 鉴权、动态路由与灰度分流,并对比 Kong、APISIX 等现成网关,给出性能调优与排错指南。
系统讲解 Neovim 的 Lua 配置体系:init.lua 与配置目录组织、vim API 速览、从 init.vim 迁移、lazy.nvim 插件管理、LSP/补全/语法高亮实战配置,以及自制 Lua 插件与发行版选型,帮你搭建现代化编辑器。
全面梳理 Lua 5.1、5.3、5.4 与 LuaJIT 的语法差异、标准库变化、性能特征与生态现状,附版本对照表、迁移不兼容点清单和游戏/OpenResty/嵌入式等场景的选型建议。
系统性的 Lua 性能优化指南:局部变量与表复用、字符串拼接陷阱、避免 GC 峰值、LuaJIT 友好的写法,以及如何用 profiler 定位真实瓶颈,附优化前后对比。
Lua 没有内置 class,但用 table + 元表可以完整实现面向对象。本文讲解类的定义、单继承与多态的实现方式、冒号语法糖的原理,以及生产级的 OOP 封装模式。
LuaJIT 的 FFI 库允许 Lua 直接调用 C 函数与操作 C 数据结构,无需编写绑定层。本文讲解 FFI 的核心用法、性能优势、与 C API 的对比,以及 OpenResty 中的典型应用。
尾调用优化让 Lua 可以用递归表达循环而不爆栈。本文讲清尾调用的判定条件、编译器的优化原理、与非尾调用的区别,以及用尾递归实现状态机的实战案例。
详解 Lua 的全局环境与 _ENV 机制:如何通过自定义环境实现沙箱隔离、安全地执行不可信代码、控制可用函数白名单,以及游戏插件系统中的环境隔离实践。
Lua 模式匹配不是正则表达式,但在多数场景更轻量高效。本文讲解模式匹配的完整语法:字符类、量词、捕获、锚点,以及 string.find/match/gsub/gmatch 的实战用法。
深入 Lua 的垃圾回收机制:增量标记清除算法的工作原理、collectgarbage 的完整 API、GC 参数调优方法,以及游戏开发中减少 GC 压力的实用技巧。
闭包是 Lua 函数式编程的基石。本文讲清闭包与 upvalue(上值)的概念、词法作用域、共享 upvalue 的行为,以及闭包在迭代器、回调和模块私有化中的实战用法。
深入理解 Lua 协程:create/resume/yield/status 的完整 API、协程四种状态与执行流转、生产者-消费者模式实现,以及协程与线程的本质区别和典型应用场景。
元表是 Lua 最强大的机制。本文系统讲解 __index、__newindex、__add、__call、__tostring 等全部常用元方法,并用元表实现类继承与完整的 Set 数据结构。
全面讲解 Lua 的错误处理机制:error 与 assert 抛出错误、pcall/xpcall 捕获异常、错误对象与堆栈追溯,以及生产环境中保护性编程的最佳实践。
系统讲解 Lua 的模块化机制:require 加载流程与缓存、package.path 与 package.cpath 搜索路径、模块编写规范,以及用 LuaRocks 管理第三方包的完整流程。
详解 Lua 与 C 语言的双向交互:通过 C API 在 C 程序中嵌入 Lua 虚拟机、用 C 编写 Lua 扩展模块、栈操作与数据交换的核心机制,附完整代码示例。
深入讲解 Lua 中 table 作为数组的用法与泛型 for 迭代器机制:pairs 与 ipairs 的区别、自定义迭代器的实现原理,以及遍历时的常见陷阱。