Capil ka isi

Modul:table/isArray

Matan Wiktionary

Dokumentasi untuk modul ini dapat dibuat di Modul:table/isArray/doc

-- Imported from enwiktionary
-- Source: https://en.wiktionary.org/wiki/Module:table/isArray
-- License: CC BY-SA

local pairs = pairs

--[==[
Returns true if all keys in the table are consecutive integers starting from 1.]==]
return function(t)
	-- pairs() is unordered, but can be assumed to return every key in `t`, so
	-- if every integer key from 1 to n (the number of keys in `t`) is in use,
	-- then all the keys in `t` form an integer range from 1 to n, making `t`
	-- a contiguous array.
	local i = 0
	for _ in pairs(t) do
		i = i + 1
		if t[i] == nil then
			return false
		end
	end
	return true
end