What's the most efficient way to determine if a table is empty (that is, currently contains neither array-style values nor dict-style values)?
Currently, I'm using next()
:
if not next(myTable) then
-- Table is empty
end
Is there a more efficient way?
Note: The #
operator does not suffice here, as it only operates on the array-style values in the table - thus #{test=2}
is indistinguishable from #{}
because both return 0. Also note that checking if the table variable is nil
does not suffice as I am not looking for nil values, but rather tables with 0 entries (i.e. {}
).