LUA元表的正确理解

原创 2016年08月28日 19:44:44

TableA = {}
function TableA:f1()
	print("TableA")
end

mt = {}

function mt:__tostring()
	return "mt to string"
end


function mt:f2()
	print("mt")
end

mt__index = {}

function mt__index:f2()
	print("mt__index");
end

mt.__index = mt__index
setmetatable(TableA, mt)

TableA:f1();
TableA:f2();
print(TableA)


输出

TableA
mt__index
mt to string


Program in LUA中老是把metatable的真实实现与面向对象中继承实现搞混淆

setmetatable(o, self)
self.__index = self



版权声明:本文为博主原创文章,未经博主允许不得转载。

lua学习笔记16:table元表详解

一 table本质 Lua中table本质实际上是个类似HashMap东西。 其元素是很多的Key-Value对,类似iOS中的字典NSDictionary。 如果尝试访问了一个表中并不存在的元...
  • xufeng0991
  • xufeng0991
  • 2015年02月07日 20:17
  • 2290

详解Lua中的元表概念

Lua中的元表概念 点击打开链接
  • u010616114
  • u010616114
  • 2016年07月15日 14:42
  • 768

lua元表理解

在lua中任何变量都有一个元表(我相信每个字符串元表都是string相关,所以可以使用string:length()),元表中特殊的值有特殊的含义,比如__index,__call,__add等等。 ...
  • zbffff
  • zbffff
  • 2015年08月23日 22:13
  • 5079

lua 的元表和元表的__index字段

众所周知,lua的继承是通过元表的__index字段来实现的,比如child类要继承自parent类,就需要把child的元表设为parent,并且要把child的元表(此时是parent)的__in...
  • sibaison
  • sibaison
  • 2017年02月26日 14:59
  • 465

lua 元表 __index 继承的实现

Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。 ...
  • xiaogou56a
  • xiaogou56a
  • 2015年02月27日 15:37
  • 706

Lua元表与元方法详解(转)

Lua中提供的元表是用于帮助Lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加。假设a和b都是table,通过元表可以定义如何计算表达式a+b。当Lua试图将两个table相加时,...
  • treasure3334
  • treasure3334
  • 2015年05月24日 15:18
  • 3060

lua——元表、元方法、继承

【元表】 元表中的键为事件(event),称值为元方法(metamethod)。 通过函数getmetatable查询任何值的元表,通过函数setmetatable替换表的元表。 set...
  • adfansong
  • adfansong
  • 2015年08月17日 20:39
  • 1664

Lua元表与元方法

前言 元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两...
  • ouyangshima
  • ouyangshima
  • 2014年10月14日 19:21
  • 1143

lua中元表与元方法

通常,lua中的每个值都有一套预定义的操作集合。例如,
  • fuyuehua22
  • fuyuehua22
  • 2014年11月02日 22:39
  • 897

Lua下通过元表模拟OOP编程,继承多态

Lua本身是没有以明确的定义来支持OOP编程的,但是我们却可以通过Lua本身提供的一些特性来间接实现简单的面向对象的编程。...
  • yue7603835
  • yue7603835
  • 2014年12月09日 10:16
  • 3595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LUA元表的正确理解
举报原因:
原因补充:

(最多只允许输入30个字)