Lua table中安全移除元素的方法
2024年05月18日
•
Lua
•
我要评论
在lua中,table如何安全的移除元素这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏。引子比如有些朋友常常这么做,大家看有啥问题将test表中的偶数移除掉打印结果:有问题吧,20怎么还在
在lua中,table如何安全的移除元素这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏。
引子
比如有些朋友常常这么做,大家看有啥问题
将test表中的偶数移除掉
打印结果:
有问题吧,20怎么还在?这就是在遍历中删除导致的。
如何做呢?
let's get started!
说明:一般我们不在循环中删除,在循环中删除会造成一些错误。这是可以建立一个remove表用来标记将要删除的,如上面例子,把将要删除的标记为true
方法1 从后往前删除
为什么不从前往后,朋友们可以测试,table.remove操作后,后面的元素会往前移位,这时候后续的删除索引对应的元素已经不是之前的索引对应的元素了。
方法2 while删除
方法3 quick中提供的removeitem
相关文章:
-
-
-
-
Lua下基本的网络编程示例
lua是高度灵活的语言,它往往是在多个平台,包括web应用程序中使用。成立2004年的kepler社区提供lua的web组件开放源码。虽然,也有使用lua已经开...
[阅读全文]
-
-
浅谈Lua的面向对象特性
面向对象的特性 类: 类是可扩展的模板用来创建对象,提供状态的初始值(成员变量)和行为的实现。 对象: 它是类的实例并具有分配给自己独立的内存。 继...
[阅读全文]
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论