关闭

LUA元表的正确理解

标签: LUAmetatable元表
112人阅读 评论(0) 收藏 举报
分类:

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26755次
    • 积分:505
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:24篇
    • 译文:0篇
    • 评论:2条
    最新评论