Lua:在任何地方都能运行的轻量级脚本语言
Lua 是一种快速、可嵌入的脚本语言,用于游戏引擎、Web 服务器、数据库和文本编辑器——从 LOVE 游戏框架和 Roblox 到 Redis、通过 OpenResty 的 Nginx 和 Neovim。其最小化的核心和简洁的 C API 使其成为在不需要完整语言栈开销的情况下实现脚本化运行时的首选。本课程轨道涵盖从第一性原理到生产级嵌入和性能调优的 Lua,基于 40 门结构化课程。
你将学到什么
你将从变量、类型、运算符和控制流开始,然后进入使 Lua 与众不同的特性:表作为通用数据结构用于数组、字典和对象。从那里你将学习标准字符串库、模式匹配、文件 I/O 和日期处理。中级主题包括元表和元方法、面向对象和函数式编程模式、协程、闭包、模块和 JSON 编码。应用课程涵盖游戏逻辑的 Lua 脚本、使用 busted 进行单元测试、Redis 脚本和构建插件架构。高级课程涉及使用弱表的内存管理、在 C 应用程序中嵌入 Lua、LuaJIT 性能优化、用于调用 C 库的 FFI、OpenResty/Nginx 集成、沙箱、DSL 构造、使用 LuaSocket 的网络和编写 Neovim 插件。
学习路径
四十门课程涵盖 A1 至 C1 级别。A1 和 A2 课程建立语言基础——语法、函数、表、序列和基本 I/O。B1 课程构建 Lua 特定的思维模式:元表、协程、OOP 模式、继承、函数式编程和标准库。B2 课程在真实场景中应用该知识:游戏逻辑的 Lua 脚本、基于协程的异步模式、Lua for Redis 脚本和使用 LOVE 进行 Lua 游戏开发。C1 顶级课程涵盖专家级主题——在 C 应用程序中嵌入 Lua、LuaJIT 和性能优化、FFI:从 Lua 调用 C 库、Lua in Nginx (OpenResty) 和Lua 编写 Neovim 插件。
工作原理
每门课程分为短的、实践性的课时,你在内置代码编辑器中完成,具有实时反馈。当你遇到困难时,AI 导师随时可用,该课程轨道按自己的步速进行,因此你可以快速完成你已经掌握的主题,并在元表或协程等需要仔细关注的部分放慢速度。