Lua, вставить значение из l oop в новую таблицу - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь понять, как выполнить l oop через LUA таблицу, взять результаты поля и ввести их в новую таблицу. В приведенном ниже примере кода я хотел бы получить значение телефона из каждой записи и вставить его в новую таблицу phoneNumbers. Я пробовал несколько способов сделать это, и в основном я получаю таблицу без данных.

Я не уверен, что мне не хватает, но я чувствую, что это как-то связано с value.phone. Любая помощь приветствуется!

local phoneNumbers = {}
local people = {
   {
       name = "Fred",
       address = "16 Long Street",
       phone = "123456"
   },
   {
       name = "Wilma",
       address = "16 Long Street",
       phone = "123456"
   },
   {
       name = "Barney",
       address = "17 Long Street",
       phone = "123457"
   }
}
        for index,data in ipairs(people) do
            for key, value in pairs(data) do
        --print('\t', key, value)
        table.insert(phoneNumbers, 1, value.phone)
        --phoneNumbers[1] = value.phone
      end
    end

1 Ответ

1 голос
/ 09 июля 2020

Согласно комментарию, вы можете сделать:

for i = 1, #people do
    phoneNumbers[i] = people[i].phone
end

-- test to see the result
for i = 1, #phoneNumbers do
    print(phoneNumbers[i])
end

Или это тоже работает:

for k, v in pairs(people) do
    phoneNumbers[k] = v.phone
end

-- test to see the result
for k, v in pairs(phoneNumbers) do
    print(k, v)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...