Таблицами в Lua называют ассоциированные массивы. Это гибкий и мощный инструмент хранения и манипуляции данными.
Для создания таблицы применяется следующий синтаксис:
t = {};
Вначале пишется желаемое имя таблицы, затем символ равно и пустые фигурные скобки. Также внутри скобок можно сразу же задать желаемые значения, это могут быть цифры, текст, в общем, любые типы данных.
n = { 0, 1, 1, 2, 3, 5, 8 };
d = {
"понедельник", "вторник", "среда", "четверг",
"пятница", "суббота", "воскресенье"
};
Обратиться к элементу таблицы можно по его индексу. По умолчанию, первый элемент равен 1. Таким образом, чтобы получить "понедельник" из таблицы d надо написать d[1], как показано ниже.
print (d[1]);
Если нас интересует обращение к элементу по его имени, то следует задать ключи. Это делается двумя способами.
d = {};
-- первый метод
d.mon = "понедельник";
d.tue = "вторник";
d.wed = "среда";
-- второй метод
d = {
mon = "понедельник",
tue = "вторник",
wed = "среда"
};
Обратиться к элементу такой таблицы можно как d.mon или d["mon"].
Одна таблица может содержать в себе другую таблицу, как показано в примере ниже.
player = {};
player.position = { x = 540, y = 120 };
print(player.position.x);
Тогда задать или получить координаты можно по имени player.position.x.