Lua查找表(元表,_index)
来源:互联网 发布:linux自学 带不带桌面 编辑:程序博客网 时间:2024/04/28 23:05
Lua表的本质:
Lua的表本质其实是个类似HashMap,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制来模拟了类似“类”的行为。
元表与_index:
如果A的元表是B,那么如果访问了一个A中不存在的成员,就会访问查找B中有没有这个成员。这个过程大体是这样,但却不完全是这样,实际上,即使将A的元表设置为B,而且B中也确实有这个成员,返回结果仍然会是nil,原因就是B的__index元方法没有赋值。
举例:
在上述例子中,访问son.house时,son中没有house这个成员,但Lua接着发现son有元表father,此时,Lua并不是直接在father中找名为house的成员,而是调用father的__index方法,如果__index方法为nil,则返回nil,如果是一个表那么就到__index方法所指的这个表中查找名为house的成员,于是,最终找到了house成员。
1 0
- Lua查找表(元表,_index)
- Lua 元表(metatable)
- lua 元表(1)
- lua元表(2)
- Lua-元表(Metatable)
- LUA元表、元操作
- Lua 元表 元方法
- 【lua-cocos2dx游戏开发】Lua查找表元素过程(元表、__index方法是如何工作的)
- 【lua-cocos2dx游戏开发】Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Lua查找表元素过程(元表、__index方法是如何工作的)
- HTTP协议分析系列(八)------http协议缓存详解
- Openstack L版本的neutron server 启动流程分析(二)
- 火星人家园:太阳能是国有资产吗?
- 【NPM】Packages与Modules
- 【C/C++开发】运算符重载二
- Lua查找表(元表,_index)
- 网页显示不正常怎么修复
- HTTP协议分析系列(九)------http协议与内容压缩
- 设计模式经典书籍推荐
- 硬件工程师的10个C语言技巧
- 数据库之查询优化
- C#中创建播放器
- [精华]Hadoop,HBase分布式集群和solr环境搭建
- 11gR2安装GI完毕后只能在各自节点查看本节点的集群状态