Похоже на вопрос "дайте мне google это для вас", но почему-то я не могу найти ответ. Оператор Lua # учитывает только записи с целыми ключами, а также table.getn:
tbl = {}
tbl["test"] = 47
tbl[1] = 48
print(#tbl, table.getn(tbl))   -- prints "1     1"
count = 0
for _ in pairs(tbl) do count = count + 1 end
print(count)            -- prints "2"
Как получить количество всех записей без их подсчета?