读书人

setmetatable的1点总结

发布时间: 2013-04-12 18:33:12 作者: rapoo

setmetatable的一点总结

local obj = {}

setmetatable( obj, { __index = mission_t } )

return obj

mission_t为对应模块的文件名。

在LUA中的文件中使用module("mission_t",package.seeall )这样的形式,可以防止某些命名的冲突,相当于C++的namespace,在调用这个模块的函数的时候,加上模块名:函数名就可以了。

如果要继承某个模块,使用setmetatable( obj,{ __index = XXXX } )

XXXX为希望继承的模块名。

总结:用lua进行面向对象的编程,声明方法和调用方法统一用冒号,对于属性的调用全部用点号

读书人网 >互联网

热点推荐