标签:对象 orm sans 修改 指定 重写 事件 index serve
先来了解一下lua的元表操作:
在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。
因此 Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。
例如,使用元表我们可以定义Lua如何计算两个table的相加操作a+b。
当Lua试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否有一个叫"__add"的字段,若找到,则调用对应的值。"__add"等即时字段,其对应的值(往往是一个函数或是table)就是"元方法"。
有两个很重要的函数来处理元表:
几个不太熟悉的元表方法:
rawget:rawget是为了绕过__index而出现的,直接点,就是让__index方法的重写无效
rawset:rawset是在设置值的过程,进行处理,比如:当某个值改变时,触发事件。或修改某个key为新值。
标签:对象 orm sans 修改 指定 重写 事件 index serve
原文地址:https://www.cnblogs.com/xiuxiu55/p/12567849.html