对lua中__newindex的理解

Posted Yoda‘s Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对lua中__newindex的理解相关的知识,希望对你有一定的参考价值。

阅读了文章后用流程图来总结一下

 

 

__newindex的规则:

a.如果__newindex是一个函数,则在给table不存在的字段赋值时,会调用这个函数。
b.如果__newindex是一个table,则在给table不存在的字段赋值时,会直接给__newindex的table赋值。

应用:

1.__newindex是一个function时,可用来控制一个表中不存在的字段的赋值行为,例如当不希望子类覆盖父类方法或者修改父类成员时,可以对子类__newindex进行修改。

2.保护__index里面的元素不被修改,让其只读

...后续补充

以上是关于对lua中__newindex的理解的主要内容,如果未能解决你的问题,请参考以下文章

lua中__index和__newindex的使用

lua --- __newindex 的使用规则

lua只读表的实现

lua中实现对一个表的监控

Lua教程

Lua学习