Я пытаюсь изучить веревки на Lua, и я проходил онлайн-уроки. Одна из проблем, которую я попытался решить, - проверить таблицу local foo = {}
, чтобы узнать, сколько ее элементов было. В учебнике дано предложение использовать local length = table.getn(foo)
. Когда я пытаюсь использовать Lua52, я получаю сообщение об ошибке attempt to call field 'getn' (a nil value)
. Я осмотрелся еще раз и заметил, что любая из функций, заданных с помощью table
, выдает один и тот же тип ошибки. Была ли библиотека table
удалена из Lua? Это сторонняя библиотека, или что дает?
Удалена библиотека таблицы Lua?
Ответ 1
Используйте оператор длины #
, как в #foo
.
table.getn
устарел в 5.1 и удалился в 5.2.
Ответ 2
Библиотека таблиц не была удалена, поскольку она является неотъемлемой частью языка и системы модулей. Функция getn
была удалена, но если ни одна из функций таблицы не работает, это почти наверняка, потому что вы перезаписали table
.