Lua资料之模块

博客介绍了Lua模块相关知识。模块是函数集合,表现为Lua表,用点号访问,通过require函数加载,需用变量保存返回结果。编写模块时,在源码文件创建表,将函数作为元素,最后返回该表。require加载模块时会执行代码且仅执行一次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

◆ 模块的含义和使用:

模块就是一个函数集合,通常表现为一个Lua 表,里面有模块作者提供的各种功能函数,使用点号“.”即可访问。使用require 函数可以加载模块,参数是模块所在的文件名(省略后缀),通常我们需要用变量来保存require函数的返回结果。

local cjson = require ” cjson "       --加载OpenResty的cjson 模块,local化
local str = cjson.encode ({a=1,b=2})  --调用模块里的函数, JSON 编码

◆ 编写模块:

编写自己的Lua 模块也很容易,在源码文件里创建一个表,把函数作为表的元素,最后用return 返回这个表就可以了。

local proto={          -- 定义一个衰,包含模块的所有功能
	version = '0.1'     -- 给一个基本的版本号信息
} 

local data = 0  -- 模块的内部数据,不暴露给外界

function proto. run ()   -- 定义一个函数,注意不能是local
	print ( "run in mod ")
end

return proto             --返回模块的表

require 在加载模块的同时会执行文件里的代码(仅执行一次,所以多次require 不会影响效率〉,在形式上, require 的工作相当于:

local _tmp = function()	 -- 定义一个临时函数
	...                  -- 里面是模块文件里的所有源码
end

local xxx = _tmp()       -- 执行临时函数,最后会返回模块的表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值