lua中self的作用

Posted heyuchang666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua中self的作用相关的知识,希望对你有一定的参考价值。

lua中self的作用

self其实就相当于Java,C++中的this对象,我们看代码:

a = {x = 3, y = 4}  
  
a.__index = function(table, key)  
                print("__index")  
                return a[key]  
            end  
    --注:  
    --冒号,在定义的时候省略掉了self  
    --点,在定义的时候不省略self  
--[[   
function a.new(self, o)  
    o = o or {}  
    print("new")  
    setmetatable(o, self)  
    return o  
end  
]]  
  
function a.new(o)  
    o = o or {}  
    print("new")  
    setmetatable(o, a)  
    return o  
end  
  
--上下两种写法是等价的  
              
local b = a:new() --调用可以等价于a.new(a, {})  
  
print(getmetatable(b))  
              
print(b.x)  


以上是关于lua中self的作用的主要内容,如果未能解决你的问题,请参考以下文章

lua 如何实现 C++ 里的 map

lua中self的用法

lua 中 . 和 : 的区别

lua 中 . 和 : 的区别

LUA语言小问题

自动生成ulua中使用的lua代码