摘要:
Lua将环境本身存储在一个全局变量_G中,(_G._G等于_G)。为了对全局命名空间更好的管理,最好是显示的声明每一个变量,可以通过使用metamethod来改变_G的行为来进行规范:-- 声明新的变量,使用rawset绕过metamethod的限制-- 保证声明的变量不为nil,如果声明一个n... 阅读全文
摘要:
__index和__newindex实际上相当于是在读写表的时候分别加了一道过滤的逻辑,让读写表的操作可以被监控或说回调,利用这个特性可以实现一些带有特殊功能的表。 带有默认值的表:setdefault = function(t, v) setmetatable(t, {__index ... 阅读全文