Lua——3.元表Metatable
来源:互联网 发布:go并发编程实战 2017 编辑:程序博客网 时间:2024/05/20 18:41
lua中的__index域
__index可以指向一个表也可以指向一个方法
__index指向表:
之前我们需要知道,当我们在一个表中查找一个元素时
首先在该表中查找,有则返回对应值,无则查看该表是否有元表
若无元表则返回nil
有元表时,lua并不是在其元表中查找,而是在其元表的__index域中查找
因此:仅使用setmetatable()方法设置元表,并不能取得对应元表中的元素
BaseClass = {theKey1 = "the string value1"}DerivedClass = setmetatable({},BaseClass)res = DerivedClass.theKey1print(res)
设置对应元表的__index之后:
BaseClass = {theKey1 = "the string value1"}BaseClass.__index = BaseClassDerivedClass = setmetatable({},BaseClass)res = DerivedClass.theKey1print(res)
也可以换一种简写方法:
BaseClass = {theKey1 = "the string value1"}DerivedClass = setmetatable({},{__index = BaseClass}) --即直接设 AnonymousTable = {__index = BaseClass} 为DerivedClass的元表,查找时可直接在AnonymousTable中的__index域对应的表BaseClass中查找res = DerivedClass.theKey1print(res)
__index指向一个方法
lua中的__add
//TODO
阅读全文
0 0
- Lua——3.元表Metatable
- Lua -- 元表(Metatable)
- Lua 元表(Metatable)
- Lua 元表(Metatable)
- lua学习笔记——元表(Metatable)
- Lua 元表(metatable)
- Lua-元表(Metatable)
- Lua基础之元表(Metatable)
- Lua:元表(metatable)与元方法(meatmethod)
- Lua:元表(metatable)与元方法(meatmethod)
- Lua:元表(metatable)与元方法(meatmethod)
- Lua中的元表(metatable)与元方法(metamethod)
- Lua:元表(metatable)与元方法(meatmethod)
- Lua:元表(metatable)与元方法(meatmethod)
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua:元表(metatable)与元方法(meatmethod)
- Lua 元表(metatable)与元方法(metamethod)
- lua面向对象封装及元表(metatable)性能测试
- Maven学习总结系列八:使用Nexus创建私服
- 一切从此开始
- Spring是什么
- 熵扰动和绝热扰动
- cxf框架的简介
- Lua——3.元表Metatable
- 工作效率总结
- POJ 3083 玉米田迷宫
- 高可用之MHA架构
- SparkCore2
- struts2中使用ajax验证邮箱(用户名)是否被注册
- 【数学】如何求e的值
- A. Hungry Student Problem
- Ping++支付测试