Таблицы

Таблицами в 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.

Автор и редакторы

Автор: Влад Мержевич
Последнее изменение: 03.03.2015
Редакторы: Влад Мержевич