Существуют два основных способа создания таблиц и их заполнения данными.
Сначала необходимо создать и заполнить таблицу сразу, используя конструктор таблицы . Это делается следующим образом:
tab = {
keyone = "first value", -- this will be available as tab.keyone or tab["keyone"]
["keytwo"] = "second value", -- this uses the full syntax
}
Если вы заранее не знаете, какие значения вам нужны, вы можете сначала создать таблицу с помощью {}
, а затем заполнить ее с помощью оператора []
:
tab = {}
tab["somekey"] = "some value" -- these two lines ...
tab.somekey = "some value" -- ... are equivalent
Обратите внимание, что вы можете использовать второй (точечный) синтаксис sugar только в том случае, если ключ является строкой, соответствующей правилам «идентификатора» - то есть начинается с буквы или подчеркивания и содержит только буквы, цифры и подчеркивание.
P.S. : Конечно, вы можете объединить два способа: создать таблицу с помощью конструктора таблицы, а затем заполнить оставшуюся часть с помощью оператора []
:
tab = { type = 'list' }
tab.key1 = 'value one'
tab['key2'] = 'value two'