Помните, что в Lua нет такой вещи, как «массив».Единственная существующая сложная структура данных - это «таблицы», которые строятся с использованием { }
Таблицы являются ассоциативными структурами, где все сохраненные данные могут быть проиндексированы с помощью ключей любого типа: чисел, строк или даже других таблиц.Единственное ограничение - тип nil
.
Давайте рассмотрим пример, мы хотим построить одну таблицу с двумя ключами, одним номером и одной строкой:
example = { [1] = "numberkey", ["key"] = "stringkey" }
Обратите внимание, что вПример выше, конструкция таблицы отличается от вашего примера.Вы индексируете таблицу, используя [ ]
, как в следующем примере:
example[1]
example["key"]
Но этот синтаксис для создания и индексации строковых ключей довольно многословен.Итак, чтобы сделать нашу жизнь проще, Lua предлагает нам то, что называется «синтаксическим сахаром»:
example2 = { [1] = "numberkey", key = "stringkey" }
Содержимое этой таблицы такое же, как и раньше.Но ключ «ключ» был объявлен иначе.Мы можем сделать это с помощью строковых ключей: поместите их непосредственно в конструкторы таблиц.И чтобы проиндексировать их, мы можем использовать другой «синтаксический сахар»:
example2.key
Вернемся к вашему примеру, вы можете получить доступ к this
, который является строковым ключом, используя:
array.this
Извините за мой английский, это не мой первый (и второй) язык.