2016-04-16 3 views
1
Module = {} 
    tempData = {Visit = false, Stats = {Name = 'No Name', Levels = 0, XP = 0, XP2 = 10}, 
      Hats = {Basic = true, NightShade = false}, 
      Robes = {Basic = true, NightShade = false}, 
      Boots = {Basic = true, NightShade = false}, 
      Swords = {Basic = true, NightShade = false} 
      } 



     function Module:ChangeLook(player, category, name) 
      tempData[player][category][name] = true 
     end 

     --[[ function Module:readStats() 
      for k, v in pairs(tempData['Stats']) do 
       print(k) 
       print(v) 
       wait() 
      end 
     end 
     function Module:readHats() 
     for k, v in pairs(tempData['Hats']) do 
       print(k) 
       print(v) 
       wait() 
     end 
     end 

    --These two works, but it's not effective if I have to make each function to read different array(table)]] 

    --[[ function Module:ReadAll() 
     for i = 1, #tempData do 
      for k = 1, #tempData do 
       print(tempData[i][k]) 
      end 
     end 

Эта функция - это то, над чем я работаю, но я не могу понять, что не так? Я пытаюсь прочитать весь массив (таблицу), без использования отдельной функции для чтения каждого человека]]Невозможно прочитать многомерную матрицу (Таблица)

return Module 

ответ

1

Вы можете сделать что-то подобное в вашем случае:.

tempData = { 
    Visit = false, 
    Stats = {Name = 'No Name', Levels = 0, XP = 0, XP2 = 10}, 
    Hats = {Basic = true, NightShade = false}, 
    Robes = {Basic = true, NightShade = false}, 
    Boots = {Basic = true, NightShade = false}, 
    Swords = {Basic = true, NightShade = false} 
} 

function ReadAll() 
    for k,v in pairs(tempData) do 
    if type(v) == 'table' then 
     for k2, v2 in pairs(v) do 
     print(k..":",k2,v2) 
     end 
    else 
     print(k..":",v) 
    end 
    end 
end 

ReadAll() 

Проверьте, если его таблицу и распечатать ее с помощью ключ - значение пары вместо индекс - значение.

+0

спасибо, это сработало –

+0

Несомненно, проблем нет;) – Rok

Смежные вопросы