学 Lua: 编程课程
学 Lua: 编程课程 — 在手机上编写 20 款小游戏,学习 Lua 编程
学 Lua: 编程课程 是一门免费的 iOS 和 Android 课程,带你学习 Lua 编程,从第一个 print() 一直到元表和协程。手机上运行着 Lua 5.3 解释器,因此内置 Lua 编辑器无需电脑即可使用;Pong、Snake 和 Tower Defense 等 20 款引导式小游戏会检验你的代码是否真正按预期运行。40 门课程和 159 节短课由 AI Mentor 提供支持。
- 价格
- 免费,可升级至 Pro
- 平台
- iOS 和 Android
- 语言
- 22
- 年龄分级
- 4+
- 需要
- iOS 15.1 或更高版本
- App Store
- 4.3 ★ (13)


这是 Lua 课程,不是游戏引擎。
学 Lua: 编程课程 教授的是 Lua 语言本身,并且明确说明了这一点。它不是 Roblox,不是游戏引擎,也不隶属于 Roblox Corporation。Roblox 脚本使用 Luau 编写,而 Luau 是一种基于 Lua 构建的语言,因此你在这里练习的基础知识,与 Roblox Studio 脚本所使用的基础知识相同。
这是什么
学 Lua: 编程课程 是一款免费的 iOS 和 Android 应用,用于学习 Lua 编程。它包含 40 门课程和 159 节短课,内容从初级(A1)一直到高级(C1);还提供内置 Lua 编辑器,可在手机上运行 Lua 5.3 解释器,以及 20 个引导式小游戏项目、60 个编程任务和 AI Mentor。这是一门 Lua 语言编程课程,不是游戏引擎,也不隶属于 Roblox。
应用内
界面展示





课程
Lua 课程涵盖的内容
共 40 门课程和 159 节短课,课程名称取自应用自己的课程列表,内容从编写第一个脚本一直延伸到将 Lua 嵌入其他程序。
欢迎学习 Lua 与 Lua 基础
了解 Lua 是什么以及它在哪里运行,然后学习变量、类型、运算符、数字和数学库。
控制流、函数与表
if、elseif 和 else,while、repeat-until 和 for 循环,多返回值与变长参数,以及用作数组、字典和记录的表。
字符串、元表与错误处理
学习字符串库和模式匹配、元表,以及 __index 和 __add 等元方法;还会学习使用 pcall 和 xpcall 进行错误处理。
模块、协程与面向对象 Lua
学习模块与 require、使用 resume 和 yield 的协程,以及基于元表构建的类和继承。
闭包、迭代器与游戏逻辑
学习闭包与上值、自定义迭代器和生成器,以及用于事件系统和游戏行为的 Lua 脚本。
使用 LÖVE 开发游戏
使用 LÖVE 框架和 Lua 构建 2D 游戏,同时学习使用 busted 进行单元测试。
游戏之外的 Lua
学习 Redis 脚本、Neovim 插件、LuaSocket 网络编程,以及在 Nginx 中通过 OpenResty 使用 Lua。
高级 Lua
学习内存管理和弱表、在 C 中嵌入 Lua、LuaJIT 性能与 FFI、沙盒,以及构建领域特定语言。
工作原理
课程如何进行
课程内容简短,每节课都会以你亲自编写并运行的代码收尾。课程本身需要互联网连接。
学习一节短课
打开一门课程并阅读其中一节:几段理论讲解,以及课程代码框中的示例,例如局部变量如何将一个值保存在某个代码块内,而不会影响程序的其他部分。
在编辑器中运行你自己的 Lua 代码
代码编辑器会在手机上即时运行你的脚本,并显示清晰的错误信息,因此拼写错误会立刻暴露出来。Lua 速查表、测验和闪卡复习则涵盖了你需要记住的知识。
一步步制作游戏
在游戏项目中,你需要为每个步骤编写几行代码,应用会检查游戏是否真的实现了相应效果:球会移动,分数会增加。如果卡住了,可以获取提示或查看解答。
包含内容
应用内有什么
40
课程,A1 至 C1
159 节短课,内容涵盖变量和控制流、闭包、元表、协程、在 C 中嵌入 Lua 以及 LuaJIT。
20
引导式小游戏
Pong、Snake、Flappy、Brick Breaker、Space Shooter、Maze Escape、Tower Defense 等更多游戏,按照经过检查的步骤逐步完成。
Lua 5.3
手机上的解释器
无需电脑,也无需进行任何设置,即可在内置编辑器中编写并运行 Lua。
60
编程任务
难度从易到难的任务,可赚取 XP;此外还有三条 obby 风格的路线,在简化模拟器中练习 Roblox 风格的脚本模式。
AI
AI Mentor
你可以询问课程内容或错误信息,并获得清晰的解释。免费账号每天可在课程中提出 3 个 AI 问题。
每日
World Coding Challenge
每天进行三轮全球挑战,通过连续打卡、XP 和进度追踪帮助你保持规律练习。
背景
Lua 有哪些用途?它适合作为第一门编程语言吗?
Lua 是一种小巧、快速的脚本语言,专为嵌入其他程序而设计。因此,它常被用作许多游戏的脚本层,也出现在 LÖVE(Love2D)2D 游戏框架、Neovim 插件、Redis 脚本和嵌入式设备中。Lua 的语法简洁易读,核心概念也只有少数几个,因此很适合作为入门语言。不过,它唯一的数据结构,以及它实现面向对象代码的独特方式,都值得你有意识地专门学习,而不是在不知不觉中摸索。
表唯一的数据结构
Lua 没有单独的数组、字典或记录类型。一个表可以同时扮演这三种角色,因此只需掌握一个概念,就能处理列表、键值映射以及之后要构建的对象。要读懂实际的 Lua 代码,最重要的就是熟练使用表。
元表和元方法Lua 实现对象的方式
Lua 没有内置的 class 关键字,而是允许一个表携带另一个表,由后者决定它在被索引、执行加法或打印时的行为。面向对象编程、继承和运算符重载,都建立在这一机制之上。
协程主动暂停函数
协程是一种可以在执行到一半时暂停、将控制权交还出去,并在之后从暂停处继续执行的函数。在游戏中,这是一种自然的脚本编写方式:你可以让过场动画或敌人行为等待几帧,同时不会冻结其他部分。
Lua 和 Luau有关联,但并不完全相同
Luau 是一种源自 Lua、由 Roblox 使用的语言,并加入了类型注解等额外功能。两者中的变量、循环、函数和表的行为相同,因此 Lua 基础可以直接迁移过去;而 Luau 的特有功能则可以在此基础上继续学习。
是否适合
适合哪些人——不适合哪些人
如果你符合以下情况,就很适合
- 想从头开始学习 Lua 编程,并希望在编写每个概念的代码前先了解清楚它
- 喜欢通过完成一个小游戏来学习,而不是阅读参考手册
- 玩 Roblox,并想在电脑上打开 Roblox Studio 之前先了解脚本背后的语言
- 需要将 Lua 用于 LÖVE、Neovim、Redis 或嵌入式工具
- 每天只有一些零碎时间,更喜欢适合短时间学习的课程
如果你符合以下情况,这不是适合你的工具
- 期待获得一个游戏引擎或 Roblox Studio 的替代品:这是一门语言课程
- 需要离线学习课程,因为这些课程需要互联网连接
- 希望所有内容都免费:第一门课程、3 个游戏项目和 2 个任务免费,免费版本会显示广告
- 已经每天编写 Lua,并想要一本参考手册
问题
常见问题
在手机上学习 Lua 编程的最佳方式是什么?
可以立即运行的短课程非常适合在手机上学习。学 Lua: 编程课程 提供 40 门课程和 159 节课程,内置编辑器可在设备上运行 Lua 5.3 解释器,还有 20 个会逐步检查代码的小游戏。你可以在 iOS 和 Android 上免费开始学习。
使用这款应用学习 Lua 需要电脑吗?
不需要。Lua 解释器运行在手机上,因此你无需安装任何东西,就能在内置编辑器中编写并运行代码。之后,当你使用 LÖVE 框架或编写 Neovim 插件时,电脑会派上用场;课程会讲解这些内容,但它们需要在桌面设备上运行。
学 Lua: 编程课程 和 Roblox 是一回事吗?
不是。这是一门 Lua 编程课程,并非由 Roblox Corporation 制作,也不受其认可或与其有关联。Roblox 脚本使用 Luau,这是一种基于 Lua 构建的语言,因此你在这里学到的变量、循环、函数和表都可以迁移使用。课程还提供 3 条障碍赛风格的学习路线,在简化版模拟器中练习 Roblox 风格的模式,作为入门准备。
Lua 适合作为第一门语言学习吗?
Lua 是较为精简的语言之一,语法简洁,并且只有一种主要数据结构——表,因此入门时需要记忆的内容更少。更难的部分会在后面出现,例如元表和协程。学 Lua: 编程课程 按 A1 到 C1 的顺序安排 40 门课程,让你在掌握基础后再接触这些概念。
我可以制作哪些小游戏?
这里有 20 个引导式游戏项目,包括 Pong、Snake、Flappy、Brick Breaker、Space Shooter、Maze Escape 和 Tower Defense。每一步都会要求你编写几行代码,然后检查游戏是否实现了相应功能,例如让球移动或让分数增加。遇到困难时,你可以查看提示或完整解决方案。
除了游戏之外,Lua 还可以用来做什么?
Lua 被嵌入许多程序中,作为脚本层使用。除了游戏逻辑和 LÖVE 游戏,它还可用于 Neovim 插件、Redis 脚本、嵌入式工具,以及通过 OpenResty 运行在 Web 服务器中。学 Lua: 编程课程 的高级课程都会涉及这些应用场景。
AI 导师如何提供帮助?
当课程内容或错误消息令人费解时,你可以询问 AI 导师并获得清晰的解释。免费账户每天可在课程中提出 3 个 AI 问题,Pro 则取消次数限制,并额外提供 AI 课程生成器和 AI 代码审查功能。
学 Lua: 编程课程 是免费的吗?
这款应用可从 App Store 和 Google Play 免费下载。免费版本包含第一门课程、代码编辑器、3 个游戏项目、2 个任务、测验和速查表,但会显示广告。Pro 提供每周、每月或每年订阅,可解锁全部课程、全部 20 个游戏项目和 60 个任务、无限次使用 AI 导师、带证书的最终考试,以及无广告体验。
可以离线使用吗?
Lua 解释器运行在手机上,但课程需要互联网连接。学 Lua: 编程课程 适合在联网时学习,并在阅读课程后直接运行代码。
支持哪些语言和设备?
学 Lua: 编程课程 可在运行 iOS 15.1 或更高版本的 iPhone 上使用,也支持 Android;其界面提供 22 种语言,并获得 4+ 评级。
更多 CoddyKit 产品
可在 iOS 和 Android 上使用。