Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Pahuchiy
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 28
29.01.2018, 20:44

Сохранение таблицы в файл

29.01.2018, 20:44. Просмотров 2926. Ответов 5
Метки (Все метки)

Ответ

Код
function table.save(tbl,file)
        -- recursively saves table data to a file, human-readable and indented
        -- supported types: number, string, boolean, tables of the same
        local f,err = io.open(file,"w")
        if err then
                print("Error: Unable to open file for writing: "..file.."\nDetails: "..err)
                return
        end
        local indent = 1
 
        -- local functions to make things easier
        local function exportstring(s)
                s=string.format("%q",s)
                s=s:gsub("\\\n","\\n")
                s=s:gsub("\r","")
                s=s:gsub(string.char(26),""..string.char(26).."")
                return s
        end
        local function serialize(o)
                if type(o) == "number" then
                        f:write(o)
                elseif type(o) == "boolean" then
                        if o then f:write("true") else f:write("false") end
                elseif type(o) == "string" then
                        f:write(exportstring(o))
                elseif type(o) == "table" then
                        f:write("{\n")
                        indent = indent + 1
                        local tab = ""
                        for i=1,indent do tab = tab .. "        " end
                        for k,v in pairs(o) do
                                f:write(tab .. "[")
                                serialize(k)
                                f:write("] = ")
                                serialize(v)
                                f:write(",\n")
                        end
                        indent = indent - 1
                        tab = ""
                        for i=1,indent do tab = tab .. "        " end
                        f:write(tab .. "}")
                else
                        print("unable to serialzie data: " .. tostring(o))
                        f:write("nil, -- ***ERROR: unsupported data type!***")
                end
        end
 
        -- here's the actual save process
        f:write("return {\n")
        for k,v in pairs(tbl) do
                f:write("       [")
                serialize(k)
                f:write("] = ")
                serialize(v)
                f:write(",\n")
        end
        f:write("}")
        f:close()
end
function table.load(file)
        local data,err = loadfile(file)
        if err then return nil,err else return data() end
end


Вернуться к обсуждению:
Сохранение таблицы в файл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2018, 20:44

Сохранение таблицы в файл excel
Здравствуйте! Прошу помощи в доработке кода, который сохраняет таблицу в файл...

Сохранение таблицы в текстовый файл
Здравствуйте. Необходимо записать данные из stringgrid в текстовый файл, но в...

Сохранение таблицы в двоичный файл
Здравствуйте, подскажите пожалуйста, как реализовать следующую задачу. На форме...

0
Другие темы раздела
Lua string.lower http://www.cyberforum.ru/lua/thread1009280.html
del
Lua Столкновение объектов и уничтожение без physics Изучать Lua начал буквально вчера. Любопытно, как еще возможно определить столкновение двух объектов ( например кругов ) так, что бы они, при столкновении, уничтожились? Допустим будет на экране N... http://www.cyberforum.ru/lua/thread1003519.html
lua script Lua
Такое дело: Есть изображения, и есть скрипт на Lua, который эти изображения "исполняет". Как собственно из этого сделать приложение exe?
Lua Сборка библиотеки
Возникла необходимость написать на C++ собственную библиотеку для Lua. Для начала компилирую тестовую библиотеку, взятую из примеров. Исходник: #include <time.h> #include <stdlib.h> extern...
Lua Переделать мод http://www.cyberforum.ru/lua/thread974747.html
мне хочеться найти программиста в lua,который поможет мне переделать мод на supreme commander forged alliance,кто хочет помочь,стучитесь в скайп sasbucha.
Lua Какое значение при обработке символа имеют буквы s, d, f ? Какое значение при обработке символа имеют буквы s, d, f ? подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru