Module:table/sparseIpairs

Revision as of 11:22, 21 April 2026 by Sware (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:table/sparseIpairs/doc

local table_num_keys_module = "Module:table/numKeys"

local function num_keys(...)
	num_keys = require(table_num_keys_module)
	return num_keys(...)
end

--[==[
An iterator which works like `ipairs`, but which works for sparse arrays.]==]
return function(t)
	local keys, i = num_keys(t), 0
	return function()
		i = i + 1
		local k = keys[i]
		if k ~= nil then
			return k, t[k]
		end
	end
end