![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lua的骚操作
学术宅男
这个作者很懒,什么都没留下…
展开
-
lua table继承和克隆的骚操作(二)
背景为了实现上篇最后所讲的创建新table的方法,需要解决如下几个问题:如何支持设置原table中的值为nil如何支持使用pairs遍历新table代理表支持设置原table中的值为nil的方案,首先得引入一个另外的方案 table代理的支持这个table代理能够让每次访问代理的调用都通过代理上的元表,实现如下:function createNewTable(parent) local values = {} -- 用来存放新的值 -- 代理表,每次通过这个表访问和赋值都会原创 2022-05-19 14:28:42 · 221 阅读 · 0 评论 -
lua table继承和克隆的骚操作(一)
原因由于lua的弱类型动态语言的特质,克隆table的行为在lua中不说无处不在,那也是非常常见。一般克隆table原因无外乎:通过修改旧table的部分数据创建新table,然后又不想由于修改新table而导致旧table被修改。从而保持函数的纯函数性。方法那怎么做到呢?有如下方法:直接克隆。这种方式创建出来的table是全新的实例,怎么修改也不会影响到原table,缺点是在table较大的时候创建耗时较久,也会占用更多内存function createNewTable(tb)原创 2022-05-19 14:27:53 · 291 阅读 · 0 评论