, поэтому я новичок в lua, и я не могу понять, как вы нацеливаете элементы массивов в массивах.Целевой элемент массива в массиве, Lua
И таблица такая же, как и массив? Почему массив и объект имеют одинаковый синтаксис? Есть ли разница?
, поэтому я новичок в lua, и я не могу понять, как вы нацеливаете элементы массивов в массивах.Целевой элемент массива в массиве, Lua
И таблица такая же, как и массив? Почему массив и объект имеют одинаковый синтаксис? Есть ли разница?
Просто используйте оператор таблицы индексации несколько раз, например .:
local data = { { "northwest", "north", "northeast" },
{ "west", nil, "east" },
{ "southwest", "south", "southeast" } }
print(data[2][3]) -- prints east
Что касается путаницы в отношении таблиц, массивов, объектов и т.д .: Lua не имеет «массивы». У Lua нет «объектов». Для структуры Lua имеет только таблицы, которые вы можете использовать в качестве массива или использовать как объект -but to Lua, это таблица. Это то, что вы из них делаете.
У меня ошибка: попытайтесь проиндексировать значение nil. 'table.insert (tails, table.getn (хвосты), {x = snake.x, y = snake.y})' Ориентация таблицы на: 'хвосты [1] [1]' и 'хвосты [ 1] [2] ' –
@Rasmus: (Я собираюсь вернуться к словам« массив »и« объект », поскольку, хотя для Lua нет никакой разницы, мы часто делаем это различие, когда говорим о вещах.) Он выглядит вместо того, чтобы иметь двумерный массив, вместо этого у вас есть одномерный массив объектов с свойствами 'x' и' y'. Вы пытаетесь получить один из объектов по его значениям «x» и «y»? – icktoofay
Я хочу массив с объектами в нем. Поэтому я могу: 'somex = хвосты [1] [1]' Который должен относиться к 'tails -> {{x =' * 10 * ', y = 15}, {x = 5, y = 10}}' –