lua元表概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HQ354974212/article/details/89416712

元表,听起来高大上,说白了,就好像一个附属表一样。。。

比如有个表t, 为表t设置一个元表t2, 加入t中没有的东西,如果有元表,将会去t2去找找。。。


t={}
--table默认没有元表
print(getmetatable(t))


t="hello"
--字符串默认有元表
print(getmetatable(t))


t={}
t2={}
--为t设置元表t2
setmetatable(t,t2);
--获取t的元表t2
print(t , t2 ,  getmetatable(t))


--简写,为t设置元表
t = setmetatable({},{})
print(t.aaa)
getmetatable(t).__index={  aaa="aaa" } -- 为t的元表设置__index 键(表)
print(t.aaa)
getmetatable(t).__index= function() return "bbb" end  -- 为t的元表设置__index 键(函数)
print(t.aaa)
 

运行效果:

猜你喜欢

转载自blog.csdn.net/HQ354974212/article/details/89416712