WoW:USERAPI EraseTable

From AddOn Studio
Jump to navigation Jump to search
This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.

User defined functions

EraseTable erases a table, often a good way to reduce garbage creation. Note that erasing a table can be more expensive than letting the GC system reclaim it, so one might prefer simply reallocating a new empty table. Also, note that a hash (as opposed to a 1..n integer-index) will NEVER SHRINK. Each key you ever used will use ~40 bytes and keep doing so until the table is destroyed. If you re-use the same keys this is obviously a nonissue.

For more details on the inner workings of tables and when to reallocate vs when to erase, see Lua object memory sizes and it's talk page.

local function EraseTable(t)
	for i in pairs(t) do t[i] = nil end
end