Вы должны понимать, что это:
t = {3, 4, "eggplant"}
такое же, как это:
t = {}
t[1] = 3
t[2] = 4
t[3] = "eggplant"
И что это:
t = {x = 0, y = 2}
то же самоекак это:
t = {}
t["x"] = 0
t["y"] = 2
Или это:
t = {}
t.x = 0
t.y = 2
В Lua таблицы - это не просто списки, это ассоциативные массивы .
Когда вы печатаете w[1]
, тогда действительно важна строка c.) На самом деле, w[1]
вообще не определяется до строки c.).
Нет разницы междуе.) и print (w.x)
.
b.) Создает новую таблицу с именем x
, которая отделена от w
.
d.) Помещает ссылку на w
внутри x
.(ПРИМЕЧАНИЕ. На самом деле это не копия w
, а просто ссылка . Если вы когда-либо работали с указателями, это похоже.)
g.) Может быть поврежденов двух частях.Сначала мы получаем x.f
, что является еще одним способом ссылки на w
из-за строки d.).Затем мы ищем первый элемент этой таблицы, который равен "another field"
из-за строки c.)