Я думаю, что запустив этот код, вы получите именно то, что я имею в виду.Я хочу зарегистрировать 5 имен в реестре ( человек ).Я зацикливаюсь 5 раз, и в каждом цикле у меня есть переменная newPerson , которая должна сохранять всю информацию о человеке и затем добавляться в регистр people .В этом примере для упрощения регистрируются только имена людей.Проблема в том, что в итоге все люди обращаются к одному и тому же имени: «Петра».Я немного поиграл с этим, но не могу найти разумную причину такого поведения.Помощь оценена!
local people={}
local person={
name="Johan",
lastName="Seferidis",
class="B"
}
local names={"Markus", "Eva", "Nikol", "Adam", "Petra"} --people to register
for i=1, 5 do --register 5 people
local newPerson=person
local name=names[i]
for field=1, 3 do --for each field(name, lastname, class)
if field==1 then newPerson["name"]=name end --register name
end
people[i]=newPerson
end
print("First person name: " ..people[1]["name"])
print("Second person name: "..people[2]["name"])
print("Third person name: " ..people[3]["name"])