Lua模块使用入门指南:从定义到加载的完整教程
时间:2026-08-15 | 作者:火苗实验室 | 阅读:0一、什么是模块?
从本质上讲,Lua 模块就是存储在自己文件中的一段可复用代码。
二、创建你的第一个模块
黄金法则:模块就是一个返回(return)表的 Lua 文件。
下面创建一个简单的数学工具模块。
- 创建一个名为
mymath.lua的新文件。 - 在其中放入以下代码:
-- 文件:mymath.lua
-- 1. 创建一个局部表来保存我们模块的函数和数据。
-- 使用 'M' 代表 'module' 是一个常见的约定。
local M = {}
-- 2. 定义函数并将它们添加到我们的表中。
-- 这些函数现在是我们模块表的"方法"。
function M.add(a, b)
return a + b
end
function M.subtract(a, b)
return a - b
end
function M.multiply(a, b)
return a * b
end
function M.divide(a, b)
if b == 0 then
return nil, "除数不能为零"
end
return a / b
end
-- 模块中可用的常量
M.PI = 3.14159
M.VERSION = "1.0.0"
-- 3. 最重要的步骤:在文件末尾返回这个表。
-- 这使得其中的所有函数和数据对其他脚本可用。
return M
这个模块的关键点
先创建一个局部表 M,用于统一存放函数和数据。
再把需要对外提供的能力,都挂到这个表上。
最后一定要在文件末尾 return M。
就是这样。你已经创建了一个模块。
注意,所有内容都整洁地保存在 M 表内。
三、使用 require 来使用你的模块
创建好模块后,就可以通过内置的 require 函数,在另一个文件里引入 mymath 并使用它。
- 在同一目录中创建另一个名为
main.lua的文件。 - 在其中放入以下代码:
-- 文件:main.lua
-- 使用 'require' 来加载我们的模块。
-- 注意:你不需要包含 '.lua' 扩展名。
-- 'require' 返回 mymath.lua 返回的表。
local mymath = require("mymath")
-- 现在我们可以使用模块中的函数了!
local sum = mymath.add(10, 5)
print("和:", sum) -- 输出: 和: 15
local difference = mymath.subtract(10, 5)
print("差:", difference) -- 输出: 差: 5
local product = mymath.multiply(10, 5)
print("积:", product) -- 输出: 积: 50
local quotient, err = mymath.divide(10, 0)
if quotient then
print("商:", quotient)
else
print("错误:", err) -- 输出: 错误: 除数不能为零
end
-- 我们也可以访问模块中的数据。
print("圆周率约等于:", mymath.PI) -- 输出: 圆周率约等于: 3.14159
print("模块版本:", mymath.VERSION) -- 输出: 模块版本: 1.0.0
require 的工作原理
- 它搜索指定的模块文件,例如
mymath.lua。 - 它运行该文件内的代码,只执行一次。
- 它存储(缓存)该模块文件
return的值。 - 如果你在其他地方再次
require同一个模块,Lua 不会重新运行文件;它会立即给你缓存的返回值。
这既智能又高效。
结语
Lua 的实用技巧和关键知识点,后面会持续展开,方便需要时随时回来查阅。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Java `static` 新手入门:从报错、共享变量到使用判断一次搞懂
- 时间:2026-08-24
-
- Android Spinner入门:是什么、怎么用、为什么选它?
- 时间:2026-08-24
-
- CEC-IDE怎么用?新手快速上手教程
- 时间:2026-08-24
-
- Webshell入门指南:是什么?怎么用?为什么学?
- 时间:2026-08-24
-
- AlphaGo下载指南:新手快速入门教程
- 时间:2026-08-24
-
- Git克隆项目新手入门全流程操作指南
- 时间:2026-08-22
-
- Java编程IDE入门实用指南
- 时间:2026-08-19
-
- 远程桌面连接设置方法与新手入门教程
- 时间:2026-08-15
精选合集
更多大家都在玩
大家都在看
更多-
- 为什么湿头发更容易断裂 蚂蚁庄园今日答案9.15
- 时间:2026-09-14
-
- 蚂蚁庄园今天答题答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园答题今日答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园小课堂2026年9月15日最新题目答案
- 时间:2026-09-14
-
- 小鸡答题今天的答案是什么2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园每日答题答案2026年9月15日
- 时间:2026-09-14
-
- 糖尿病患者禁食所有含糖食物吗 蚂蚁庄园今日答案9月15日
- 时间:2026-09-14
-
- 2026年9月14日蚂蚁新村答案
- 时间:2026-09-14
