常见问题解答以下是有关 Lua 的一些常见问题的答案。
如需了解 Lua 是什么,请参阅此摘要或学习如何开始使用 Lua。
有关编程问题,请参阅社区维护的 LuaFaq 以及更长的 uFAQ。
有关如何获取 Lua 源代码和二进制文件的说明,请参阅下载和入门页面。
Lua 是用纯 ISO C 实现的,可以在所有已知平台上未经修改地编译。构建 Lua 所需要的只是一个 ISO C 编译器(gcc 和 clang 是流行的选择)。Lua 也可以干净地编译为 C++。
如果您正在 Unix 系统(如 Linux 或 macOS)中构建 Lua,那么您可能已经拥有所需的一切,只需输入make即可。(Makefile 会尝试猜测您的平台。如果失败,您将不得不选择一个合适的平台。)否则,请参阅下一个问题。无论如何,有关完整说明,请参阅分发版附带的 README。《Lua 编程入门》一书的第 1 章包含下载、构建和安装 Lua 的详细说明。以下是常见平台的简单说明
curl -L -R -O https://lua.ac.cn/ftp/lua-5.5.0.tar.gz tar zxf lua-5.5.0.tar.gz cd lua-5.5.0 make all test如果您没有 curl,请尝试 wget。
如果您没有时间或不愿自己编译 Lua,请从 LuaBinaries 获取二进制文件。如果您只想尝试 Lua,请尝试在线演示。
这取决于您的编译器。这些平台上的大多数编译器都要求您创建“项目”文件。您需要为构建库、解释器和编译器创建项目(或您的编译器使用的任何东西)。源代码都在src目录中。哪些模块应该进入哪些项目的确切列表在 README 中给出。另请参阅 wiki 中的 BuildingLua。《Lua 编程入门》一书的第 1 章包含下载、构建和安装 Lua 的详细说明。
如果您没有时间或不愿自己编译 Lua,请从 LuaBinaries 获取二进制文件。
Lua 持续开发中,但新版本发布不频繁。
Lua 5.5.0 于 2025 年 12 月 22 日发布。
要预览下一个版本中将要推出的内容,请在可用时尝试工作版本。
如果您担心不兼容性,大可不必,因为我们尽一切努力避免引入任何不兼容性。当不兼容性不可避免时,以前的代码通常可以在不修改的情况下得到支持,这可能通过使用适当的编译标志构建 Lua 来实现。无论如何,参考手册包含一个不兼容性列表。
是的,Lua 可以免费用于任何目的,包括商业目的,完全免费,使用它不需要任何文件。阅读许可页面中的详细信息。
是的。Lua 遵循非常宽松且著名的 MIT 许可证条款分发,该许可证与 GPL 兼容,并由 开源计划批准。阅读许可页面中的详细信息。
Lua 旨在用于他人的软件,包括您的软件。在大多数情况下,Lua 只是通过新功能进行扩展,使 Lua 适应您的特定领域。这正是 Lua 的设计目的。当需要分发您的软件时,可能会出现两个问题:“我还可以将我的软件中的语言称为 Lua 吗?”和“我可以称它为其他名称吗?”。
答案如下:如果语言的语法和语义(即解析器和虚拟机)保持不变,那么该语言仍然是 Lua。如果您只是添加新的库,甚至用您自己的库替换标准的 Lua 库,语言仍然是相同的,您不需要(而且可能不应该)给它一个完全不同的名称。
如果您改变了语言的语法或语义,那么这可能是一个小的扩展,您可能会受益于将您的语言称为 Lua 变体,这样您可以将用户指向现有的 Lua 文档和社区,同时附带与您对语言的扩展相关的注意事项。
通常,人们会使用一些包含 Lua 的名称(CGILua、LuaMan、LuaOrb 等),这样就很清楚它*使用*了 Lua,但它不是官方的 Lua 发行版。换句话说,应该非常清楚您的软件使用了 Lua(或者,更具体地说,您的软件中的语言*就是* Lua),但同时,也应该清楚您的软件*不是* Lua。
无论如何,请根据许可证,为 Lua 认可我们。
如果此解释仍不清楚,请联系我们。
GitHub 上有一个 Lua 开发代码的公共镜像,由 Lua 团队维护。它包含所有提交的完整历史,但不定期镜像。请不要发送拉取请求。请将所有错误报告和建议发送到邮件列表。
Lua 是开源软件,但它不是公开开发的。阅读此解释。
如果您想预览下一个版本中将要推出的内容,请在可用时尝试工作版本。
我们鼓励基于经过测试的代码解决方案讨论问题和增强功能,但我们从不逐字地合并第三方代码。我们始终努力理解问题和拟议的解决方案,然后,如果我们选择解决该问题,我们将提供我们自己的代码。Lua 中的所有代码都是由我们编写的。另请参阅上一个问题。
有关 Lua 的完整信息可以在其主页上找到。您可能想先阅读一份摘要,从站点地图中选择一个入口点,或者学习如何开始使用 Lua。
是的,有一个友好且活跃的邮件列表,名为 lua-l。欢迎所有人加入。在此处阅读所有相关信息。
对于葡萄牙语讨论,有 Lua BR,即 lua-l 的巴西版本。
不,只需使用邮件列表。如果您想通过网页界面阅读帖子,请访问 Google Groups 或搜索存档。
如果您正在寻找 Lua 的问答论坛,请尝试 stackoverflow 或 pt.stackoverflow。
首先,请确保您确实找到了一个错误。检查问题是否已经报告(并且可能已修复)。搜索邮件列表的存档,看看是否有人遇到过同样的问题并有修复或解释。经过研究后,如果您仍然认为您可能发现了错误,请在邮件列表中发布报告。
在报告错误之前,请尝试识别一个能够展示该错误的最小程序,也称为MWE和SSCCE。这使得重现、文档化和追踪错误变得容易得多。此外,请阅读 Simon Tatham 关于如何有效报告错误的文章。特别是,请务必提及包含该错误的 Lua 版本。
Lua 被全球许多产品和项目使用,其中包括几个著名的游戏。完整的列表太长,我们无法跟踪。请参阅列表的列表。
是的,有几本。在此处查看完整列表。《Lua 编程》一书是 Lua 首席架构师撰写的关于 Lua 编程所有方面的详细权威介绍。第四版于 2016 年出版,并提供电子书。第一版于 2003 年出版,并可在线免费获取。以前的版本有多种语言版本。还有几本其他作者撰写的 Lua 书籍。
您可以通过购买 Lua.org 出版的书籍和进行捐赠来支持 Lua 项目。
您还可以通过在Zazzle购买 Lua 产品来帮助传播 Lua。