Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lua

Войти
Регистрация
Восстановить пароль
 
Tyritti
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 19
#1

Таблица с параметрами - Lua

08.11.2014, 20:04. Просмотров 470. Ответов 0
Метки нет (Все метки)

Задача: В таблице (tab) необходимо создать несколько массивов по шаблонному массиву (array) с его параметрами имени и позиции (name, x, y). Моя проблема заключается в том, что после создания массивов (tab[i]) их значения напрямую зависят от шаблонного массива (array) без возможности их изменения т.к. они всегда равны значениям array.name, array.x, array.y.
Код программы:
Код
tab = {}
array = {}
	array.name = "Enemy"
	array.x = 100
	array.y = 100
for i = 1, 5 do
	table.insert(tab, i, array)
end

for i = 1, #tab do
tab[i].name = "Enemy "..i
tab[i].x = 100 + 10 * i
tab[i].y = 100 + 10 * i
print(tab[i].name..", "..tab[i].x..", "..tab[i].y.." RIGHT ANSWER") -- Верный ответ
array.name = "Another name "..i
array.x = 110
array.y = 110
print(tab[i].name..", "..tab[i].x..", "..tab[i].y.." WRONG ANSWER\n") -- Неверный ответ
end
io.read()
Добавлено через 19 часов 27 минут
Немного разобрался, вся проблема в том, что таблица вместо того, чтобы копировать параметры массива создаёт указатель на него, как это можно изменить?

Добавлено через 3 часа 25 минут
Один знающий человек помог и я наконец разобрался, необходимо каждый раз создавать новый массив, тогда при изменении родительского массива будет меняться только последний созданный массив. Прикрепляю свой код решения, вдруг кому понадобится:
Код
function array_create(i)
	array = {
	name = "Enemy "..i,
	x = 100 + 10 * i,
	y = 100 + 10 * i,
	}
end

tab = {}
for i = 1, 5 do
	array_create(i)
	table.insert(tab, i, array)
end

array.name = "no name"

for i = 1, #tab do
	print("tab["..i.."].name = "..tab[i].name..", tab["..i.."].x = "..tab[i].x..", tab["..i.."].y = "..tab[i].y)
end
io.read()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2014, 20:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Таблица с параметрами (Lua):

Регулярное выражение для парсинга строки с параметрами - Lua
Никак не получается написать регулярное выражение которое разделяло бы например такую строку: /test arg1 arg2=1 arg3=hello arg4="hello...

Двухуровневая таблица. Найти все возможные комбинации - Lua
Помогите написать функцию, возвращающую tRet. Пример: t = {{a1, b1}, {a2, b2, c2}, {a3}} tRet={ {a1,a2,a3}, {a1,b2,a3}, ...

Таблица с параметрами - Delphi
Здравствуйте, знающие люди) Есть таблица с параметрами шкафов: Порядковый номер - №...; Название - '...'; Высота - H; Длина -...

ПодТаблицы с данными(Таблица-Таблица-Таблица-Таблица) и наследованием - MS Access
Имеется такая база с таблицами Район-МО-Цель-Зачача. Несколько вариантов связей передумал уже, но не понимаю как сделать, чтоб данные не...

Подпрограммы с типизированными параметрами -значениями и параметрами-переменными - Turbo Pascal
С помощью подпрограммы подсчитать сумму элементов главной диагонали для матриц 4х4 и 5х5 из вещественных чисел. Добавлено через 1...

Реализовать функции с опциональными параметрами и именованными параметрами - C#
Нужно задачу написать, про ref и out ничего пока не знаю, не понимаю их.. Реализовать функции с опциональными параметрами и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2014, 20:04
Привет! Вот еще темы с ответами:

Подпрограммы с типизированными параметрами -значениями и параметрами-переменными - Pascal
Помогите пожалуйста). С помощью подпрограммы, определяющей принадлежность символа к заданному множеству, установить количество гласных букв...

Производный класс Самоорганизующаяся таблица должен наследовать свойства и методы класса Таблица - C#
класс таблица, содержащий целые числа Обьект класса таблица должен позволять: 1 инициализировать случайными числами таблицу 2...

{=ТАБЛИЦА(A1;A3)} или {=ТАБЛИЦА(A1;A2) что это?} - MS Excel
помогите не могу разобраться что это функция или формула-не могу понять? откуда эти цифры появились тоже я без понятия?

Таблица лексем и таблица идентификаторов - C++
Помогите пожалуйста найти ошибку в коде. Прога строит ТИ и ТЛ. К таблице идентификаторов претензий нет, а вот в таблице лексем возникают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.