我的学习C#回炉学习日志——Lua热更新06_模块
2023-12-30 21:35:36
模块
个人理解:lua的包比起C#,基本上就是一个table记录所有信息,包括变量、常量等
module ={}
module.constant = "一个常量"
function module.func1()
io.write("一个共有函数\n")
end
local function func2()
-- body
print("一个私有函数")
end
function module.func3( ... )
-- body
func2()
end
return module
--调用--
require("module")
print(module.constant)
module.func3()
元表
- 引入原因:可以实现对多个table操作,允许改变table的行为,每个行为关联对应的元方法。当table的键找不到对应的值时,如果table有元表,便会对元表进行检索。(元表可以理解为当查找失败时的catch(操作指南),告诉程序此时怎么办)
- 基本格式:
--基本格式--
mytable = {}
mymetatable = {}
setmetatable(mytable,mymetation)
--简化--
mytable = setmetatable({},{})
--返回值--
getmetatable(mytable)
- 实例:
mytable={}
mytable["x1"] = "找到到的值"
mymetatable = {
X2 = "找不到的值"
}
mymetatable.__index = mymetatable --将_index赋给元表
setmetatable(mytable,mymetatable)
print(mytable.X2)
文章来源:https://blog.csdn.net/wsctx/article/details/112168906
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!