您的位置:首页 > 编程语言 > Lua

lua - 表

2015-08-02 12:18 288 查看


数组
Map
混合
添加元素
表的操作:遍历


元表

元数据(metadata)是指描述数据的数据,因此元表就是指描述数据的表。
在Lua中,每个数据都可以有一个表描述它,这个表,可以通过getmetatable来获取
这个表规定了这个数据的一些操作,比如相加,相减等等的操作
只有表这种类型的数据才可以修改元表,因此这里只讨论表的元表,修改元表的函数是setmetatable
元表的可以设置metatable来实现加法
local t = {1, 2}
local s = {3, 4}

local function add(a, b)
local result = {}
for k, v in pairs(a) do
table.insert(result, v)
end
for k, v in pairs(b) do
table.insert(result, v)
end
return result
end

local metaTable =
{
__add = add
}

setmetatable(t, metaTable)

local x = t + s

for k, v in pairs(x) do
print(k, v)
end

元表的固有元素

__add(a, b) --加法

__sub(a, b) --减法

__mul(a, b) --乘法

__div(a, b) --除法

__mod(a, b) --取模

__pow(a, b) --乘幂

__unm(a) --相反数

__concat(a, b) --连接

__len(a) --长度

__eq(a, b) --相等

__lt(a, b) --小于

__le(a, b) --小于等于

__index(a, b) --索引查询

__newindex(a, b, c) --索引更新

__call(a, ...) --执行方法调用

__tostring(a) --字符串输出

__metatable --保护元表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d-x lua c++