Как получить размер массива в LUA? [дубликат]

этот вопрос уже есть ответ здесь:

вот код:

users = {}  
users["aaa"] = "bbbb";
users["bbb"] = "bbbb";
users["ccc"] = "bbbb";
print("Users count ", table.getn(users));

почему таблицы.getn(пользователи) всегда возвращает 0? Кстати, #users также возвращает 0. Итак, я делаю что-то неправильно, и есть другой способ получить количество элементов в массиве?

1 ответов


таблица.maxn и # ищут числовые индексы; они не будут видеть ваши строковые индексы.

что касается получения количества элементов в массиве с произвольными индексами, я бы, вероятно, прошел массив, используя что-то вроде:

Count = 0
for Index, Value in pairs( Victim ) do
  Count = Count + 1
end