加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

一、lua的__index

发布时间:2020-12-14 21:57:36 所属栏目:大数据 来源:网络整理
导读:lua中__index是面向对象非常基础一个知识 没有__index举例: father = { house= 1 } son = { car= 1 } setmetatable (son,father) --son metatable设为father print (son.house) 结果 :nil 有__index的例子: father = { house= 1 } father.__index = father -

lua中__index是面向对象非常基础一个知识

没有__index举例:

father = {  
    house=1  
}  
son = {  
    car=1  
}  
setmetatable(son,father) --son metatable设为father 
print(son.house)
结果:nil

有__index的例子:

father = {  
    house=1  
}  
father.__index = father -- 把father的__index方法指向自己 
son = {  
    car=1  
}  
setmetatable(son,father)  
print(son.house)
结果:1

1.在表中查找,如果找到,返回该元素,找不到则继续

2.判断该表是否有元表,如果没有元表,返回nil,有元表则继续

3.判断元表有没有__index方法,如果__index方法为nil,则返
回nil;如果__index方法是一个表,则重复1、2、3;如果__index方法是一个函数,则返回该函数的返回值

from:http://www.voidcn.com/article/p-uonajqjz-dd.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读