您的位置:首页 > 编程语言 > Lua

LUA元表的正确理解

2016-08-28 19:44 316 查看
TableA = {}
function TableA:f1()
print("TableA")
end

mt = {}

function mt:__tostring()
return "mt to string"
end

function mt:f2()
print("mt")
end

mt__index = {}

function mt__index:f2()
print("mt__index");
end

mt.__index = mt__index
setmetatable(TableA, mt)

TableA:f1();
TableA:f2();
print(TableA)

输出

TableA
mt__index
mt to string


Program in LUA中老是把metatable的真实实现与面向对象中继承实现搞混淆

setmetatable(o, self)
self.__index = self
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LUA metatable 元表