xlua _newIndex 探究

1 指向table

t = {}
f = {key = "hjj"}
p = setmetatable(t, { __newindex = f })


p.key1 = 2

print(t.key1)
print(f.key1)
print(f.key)

-----输出----
nil 
2
hjj


---等价代码
t = {}
f = {key = "hjj"}
p = setmetatable(t, { __newindex =
		function(table, key, value)
			f[key] = value
		end})


p.key1 = 2

print(f.key1)

2  指向函数

t = {}
f = {key = "hjj"}
p = setmetatable(t, { __newindex =
		function(table, key, value)
			print("不存在数据")
			print(key)
			print(value)
			print(table)
		end})


p.key1 = 2


-----输出
不存在数据
key1
2
table: 0x56380445b290

3 构造类多继承

上一篇:Unity使用XLua热更新流程


下一篇:xLua的配置和一些坑