Новое в Lua - Таблица операций - PullRequest
2 голосов
/ 29 июня 2010

Может кто-нибудь объяснить это мне?В этом уроке я понял, что это называется таблицей.Исходя из C / C ++ фона, может кто-нибудь объяснить, как это работает (я пытаюсь понять некоторый существующий код Lua)?таблица устройств, но есть ли таблица KEYCARD?Как называются C56 и ELTRA в Lua?Это поля?

Ответы [ 2 ]

8 голосов
/ 29 июня 2010

Таблица в Lua - это просто нетипизированная карта, как объекты Javascript или словари Python.Таблица связывает одно значение (например, «устройства» или 6) с другим значением (например, «/ dev / ttyS2»).Значение может быть другой таблицей.Таблицы используются для создания объектов, карт и массивов.

В вашем примере переменная config ссылается на таблицу.В этой таблице есть один элемент - «устройства», значением которого является другая таблица.Эта таблица имеет 5 элементов.Четыре из этих элементов («C56», «ELTRA», «MICORE» и «HID») имеют строки в качестве значений.Пятый элемент («KEYCARD») имеет таблицу в качестве значения. Эта таблица имеет два элемента (6, 7), значениями которых являются другие таблицы (каждый из двух элементов).

3 голосов
/ 29 июня 2010

У вас есть таблица конфигурации с двумя подтаблицами, устройствами и Keycard, которая является подтаблицей устройств.Прошло довольно много времени с тех пор, как я использовал Lua, но для доступа, например, к ELTRA, вы набрали бы Config.devices.ELTRA, а для доступа к 7-й карточке-ключу вы набрали Config.devices.KEYCARD [7]., вы могли бы сделать скорость = Config.devices.KEYCARD [7] .speed

...