0Pricing
Lua Academy icon

Lua Academy

LUAGamesScriptingBeginnerSystemsDesktopBackendMobile

通过 Lua Academy 学习 Lua,开发轻量级且灵活的应用程序。

🤖 AI 驱动📚 40 门课程👥 10万+ 学习者⭐ 4.9 分
课程概览

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 导师随时可用,该课程轨道按自己的步速进行,因此你可以快速完成你已经掌握的主题,并在元表或协程等需要仔细关注的部分放慢速度。

开始学习 →

你的学习方式

🎯
互动课程
实时反馈的动手编程练习
🤖
AI 导师
遇到困难时立即获得 AI 帮助
💻
内置编辑器
直接在浏览器中编写并运行代码
🏆
证书
完成课程后获得证书
课程

40 门课程

Lua Academy 学习路径中的所有课程。

01

欢迎学习 Lua

A13 节课

了解 Lua 是什么、它为何是 Roblox、《魔兽世界》和无数游戏引擎背后的秘密动力,以及它为何是最容易学会的语言之一。

02

Lua 基础:变量、类型与运算符

A14 节课PRO

掌握 Lua 编程基础:变量、数据类型、算术运算符、逻辑运算符、字符串运算符,以及类型强制转换规则。

03

Lua 数字与数学运算

A14 节课PRO

自信地使用 Lua 的数字和数学库。

04

控制流:if/elseif/else 与循环

A24 节课PRO

掌握 Lua 中的条件语句和循环结构,包括 while、repeat-until、数值 for 和泛型 for 循环。

05

Lua 中的函数

A24 节课PRO

学习定义和调用函数、使用多返回值、可变参数、一等函数和递归模式。

06

表:通用数据结构

A24 节课PRO

深入学习作为数组、字典和记录使用的 Lua 表。掌握插入、删除、遍历和嵌套结构。

07

Lua 文件 I/O

A24 节课PRO

学习使用 Lua 的 io 库打开、读取、写入和关闭文件,处理错误,并操作文件句柄。

08

Lua 处理序列

A24 节课PRO

使用数组风格的表和序列约定。

09

Lua 日期与时间处理

A24 节课PRO

读取、格式化并计算日期和时间。

10

深入学习字符串库

B14 节课PRO

掌握 Lua 的字符串库:连接、长度、find、sub、format、gsub、gmatch,以及模式匹配基础。

11

元表与元方法基础

B14 节课PRO

理解元表,以及 __index、__newindex、__add 和 __tostring 等元方法如何定制表的行为。

12

使用 pcall 与 xpcall 处理错误

B14 节课PRO

使用 pcall、xpcall、error() 和结构化错误对象掌握 Lua 的错误处理模型,构建健壮的程序。

13

模块与 require 系统

B14 节课PRO

使用 require 构建模块化 Lua 程序,理解 package.path 和 package.loaded,并创建可复用的模块文件。

14

协程入门

B14 节课PRO

学习 Lua 协程:创建、恢复、让出和状态。理解协作式多任务,以及生产者-消费者模式。

15

使用元表进行面向对象编程

B14 节课PRO

使用元表在 Lua 中构建完整的 OOP 系统:使用 __index 分派方法、构造函数和实例数据封装。

16

Lua 中的继承模式

B14 节课PRO

使用元表链、混入模式和方法重写,在 Lua 中实现单继承和多继承。

17

高级表操作

B14 节课PRO

掌握 table.sort、table.concat、table.move、深拷贝策略,以及大型数据结构的高效操作。

18

Lua 标准库

B14 节课PRO

全面了解 Lua 标准库:math、table、string、io、os 和 debug 模块,并通过实用示例进行学习。

19

模式匹配与字符串解析

B14 节课PRO

掌握 Lua 强大的模式匹配系统,用于文本解析、数据提取、分词和转换。

20

Lua 函数式编程模式

B14 节课PRO

将函数视为值,编写富有表现力的 Lua 代码。

21

Lua JSON 编码与解码

B14 节课PRO

以 JSON 形式在 Lua 中导入和导出数据。

22

闭包与上值

B24 节课PRO

深入理解 Lua 闭包:上值、共享上值、工厂函数、记忆化,以及基于闭包的状态机。

23

迭代器模式与生成器

B24 节课PRO

使用闭包、协程和泛型 for 协议,在 Lua 中构建自定义迭代器和有状态生成器。

24

使用 Lua 编写游戏逻辑脚本

B24 节课PRO

将 Lua 应用于游戏开发:事件系统、组件脚本、人工智能行为树、数据驱动配置和热重载。

25

使用 busted 进行 Lua 单元测试

B24 节课PRO

为 Lua 代码编写并运行自动化测试。

26

基于协程的异步模式

B24 节课PRO

使用协程、事件循环、Promise 等价机制和非阻塞 I/O 模式,在 Lua 中构建 async/await 风格的并发。

27

从零实现类系统

B24 节课PRO

使用纯 Lua 构建适用于生产环境的 OOP 类系统,支持继承、混入、接口、类型检查和序列化。

28

构建插件架构

B24 节课PRO

设计 Lua 插件系统:发现、加载、沙箱隔离、版本管理、钩子和可扩展应用的生命周期管理。

29

调试与性能分析 Lua 代码

B24 节课PRO

掌握 Lua 调试工具:debug 库、远程调试器、性能分析器、代码覆盖率和系统化故障排查技术。

30

用于 Redis 脚本的 Lua

B24 节课PRO

编写高效的 Redis Lua 脚本:EVAL、KEYS/ARGV、事务、原子操作、速率限制和 Lua 库辅助函数。

31

使用 LOVE 进行 Lua 游戏开发

B24 节课PRO

使用 LÖVE 框架和 Lua 构建二维游戏。

32

内存管理与弱表

C14 节课PRO

理解 Lua 的垃圾回收器、弱引用、弱表和终结机制,为内存敏感型应用实现高效的内存管理。

33

在 C 应用中嵌入 Lua

C14 节课PRO

学习 Lua C API:创建状态、压入值、从 C 调用 Lua、注册 C 函数,以及管理栈。

34

LuaJIT 与性能优化

C14 节课PRO

使用 LuaJIT 的 JIT 编译器、优化技术、性能分析和微基准测试,充分提升 Lua 性能。

35

FFI:从 Lua 调用 C 库

C14 节课PRO

使用 LuaJIT 的 FFI 库直接调用 C 函数、声明 C 类型、加载共享库,并安全地处理指针。

36

Nginx 中的 Lua(OpenResty)

C14 节课PRO

使用 OpenResty 构建高性能 Web 应用:请求处理、共享内存、cosocket、Redis 集成和缓存。

37

Lua 沙箱与安全

C14 节课PRO

实现安全的 Lua 沙箱:受限环境、防止逃逸、安全的 require、资源限制和审计日志记录。

38

使用 Lua 构建 DSL

C14 节课PRO

在 Lua 中设计并实现领域特定语言:通过元表实现自定义语法、解析器组合子、解释器和配置 DSL。

39

使用 LuaSocket 进行 Lua 网络编程

C14 节课PRO

使用 LuaSocket 库与网络通信。

40

Lua 编写 Neovim 插件

C14 节课PRO

使用 Neovim 内置的 Lua API 扩展 Neovim。

常见问题

常见问题解答

Lua Academy 课程免费吗?

免费。你可以免费开始 Lua Academy 课程并完成它的所有互动课程。可选的 PRO 订阅解锁高级 AI 工具和可分享的证书。

学习 LUA 需要有先前的经验吗?

不需要。课程从基础开始,逐步进阶到更高难度的主题,所以即使你没有任何 LUA 基础也可以开始。

我在 CoddyKit 上怎样学习 LUA?

学以致用。简洁的互动课程将清晰的讲解与实时动手编程练习结合,24/7 AI 导师在你遇到困难时提供个性化帮助。

完成 Lua Academy 后能获得证书吗?

可以。PRO 学员可以参加考试,获得 Lua Academy 课程的可分享的完成证书,其中包含可验证的代码。

我能在手机上学习 LUA 吗?

可以。CoddyKit 支持网页版和原生 iOS、Android 应用,你可以在任何设备上学习 LUA,进度会自动同步。

立即开始 Lua Academy

加入数千名学习者,通过 AI 驱动的课程掌握编程。

免费开始 →浏览所有课程