【发布时间】:2015-07-07 19:59:01
【问题描述】:
lua 如何处理表的增长?
它相当于Java中的ArrayList吗? IE。一个需要连续内存空间的,当它比已经分配的空间大时,内部数组被复制到另一个内存空间。
有没有聪明的方法来引导它?
我的问题是,表是如何存储在内存中的?我不是问如何在 Lua 中实现数组。
【问题讨论】:
-
我们在 Lua 中简单地通过使用整数索引表来实现数组。因此,数组没有固定的大小,而是根据需要增长。 lua.org/pil/11.1.html
-
@RobertHarvey 我已经编辑了我的问题,我怀疑 Lua 如何处理这是“记忆视觉”。
-
“数组”是一个“幕后”术语。 Lua 表是一组键值对,其中键和值都不能是
nil。如果表具有连续的正整数键并且从 1 开始,则称该表“具有序列”。长度运算符#仅适用于序列(或“空序列”),ipairs在第一个缺失的正整数键之前结束。实现的可能性由此而来。
标签: arrays memory-management lua lua-table