美文网首页
LUA 元表(Metatable)

LUA 元表(Metatable)

作者: 菜鸟的笔记 | 来源:发表于2019-11-11 15:59 被阅读0次

在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。

因此 Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。

例如,使用元表我们可以定义Lua如何计算两个table的相加操作a+b。

设置元表(setmetatable)

--以下实例演示了如何对指定的表设置元表:
mytable = {}                          -- 普通表
mymetatable = {}                      -- 元表
setmetatable(mytable,mymetatable)     -- 把 mymetatable 设为 mytable 的元表

--以上代码也可以直接写成一行:参数分别是 普通表 元表
mytable = setmetatable({},{})

--以下为返回对象元表:(getmetatable:获取元表)
getmetatable(mytable)                 -- 这回返回mymetatable(原表)

原文连接:https://www.runoob.com/lua/lua-metatables.html

相关文章

  • lua元表

    1、Lua 元表(Metatable) setmetatable(table,metatable): 对指定tab...

  • Lua 元表(Metatable)

    学习网站Lua 元表(Metatable)

  • Lua----元表(Metatable)

    什么是元表 This metatable is an ordinary Lua table that define...

  • Lua学习

    Lua 学习 元表 setmetatable(table,metatable): 对指定table设置元表(met...

  • lua元表(Metatable)

    Lua 提供的元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。 __inde...

  • Lua元表Metatable

    1. 元表的含义 元表是带有索引集合的表,它可以改变被附加的表的行为 2. 算术类的元方法 下面是我们为我们tab...

  • Lua 元表(Metatable)

    在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 因...

  • LUA 元表(Metatable)

    在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 因...

  • Lua-元表

    元表Metatable Lua提供了元表,允许我们改变table的行为,每个行为关联了对应的元方法。 例如,使用元...

  • 2017.5.26

    lua学习:metatable 元方法,元表 lua 中的任何一个值都有其预定义的一套操作,这些操作都是在元表中定...

网友评论

      本文标题:LUA 元表(Metatable)

      本文链接:https://www.haomeiwen.com/subject/azytictx.html