2013-04-15 3 views
0

Я использую следующий Lua скрипт для доступа и читать внешний Lua файл:Lua для чтения и записей данных таблиц

FileStr = "lariatData-sgeT-2012-05-31.lua" 
Hnd, ErrStr = io.open(FileStr, "r") 
if Hnd then 
    dofile(FileStr) 
    for Str in Hnd:lines() do 
     print(Str, "\n") 
     for exec, val in pairs(sgeT) do 
      print(exec.." "..val, "\n") 
     end 
    end 
    Hnd.close() 
else 
    print(ErrStr, "\n") 
end 

Однако, когда значения для ехеса ключа возвращается, я получаю шестнадцатеричную память место нахождения. Например, одна линия вывода выглядит следующим образом:

table: 07x7fdc5b2538f0 

ответ

1

Как я ответил на ваш предыдущий вопрос; вам нужен рекурсивный вызов функции. Существует пример программы here.

function DeepPrint (e) 
    -- if e is a table, we should iterate over its elements 
    if type(e) == "table" then 
     for k,v in pairs(e) do -- for every element in the table 
      print(k) 
      DeepPrint(v)  -- recursively repeat the same procedure 
     end 
    else -- if not, we can just print it 
     print(e) 
    end 
end 
Смежные вопросы