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 --保护元表
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 详解Lua中的表的概念及其相关操作方法
- Lua编程示例(二):面向对象、metatable对表进行扩展
- 把Lua编译进nginx步骤方法
- Lua脚本自动生成APK包
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua中的metatable介绍
- Lua中ipair和pair的区别
- Lua中的函数精讲笔记
- 浅谈Lua的面向对象特性
- 详解Lua中的变量相关知识点
- Lua脚本语言入门笔记
- Lua脚本调用外部脚本
- 详解Lua中的if语句的使用方法
- Lua中调用函数使用点号和冒号的区别
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中强大的元方法__index详解