Serialze function
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

Serialze function

Started by Typhoon, 06 November, 2004, 00:48:02

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Typhoon

hey guys and girls...

i have noticed a few different Serialize function , what about if we post all of them inhere, and find out which one is the best and safest ..  the one i use is below..

Typhoon?

-- Serialize --
Serialize = function(tTable, sTableName, hFile, sTab)
	assert(tTable, "tTable equals nil");
	assert(sTableName, "sTableName equals nil ");
	assert(hFile, "hFile equals nil ");
	assert(type(tTable) == "table", "tTable must be a table ");
	assert(type(sTableName) == "string", "sTableName must be a string ");
               sTab = sTab or "";
               write(hFile, sTab..sTableName.." = {\n" );

	for key, value in tTable do
		local sKey = (type(key) == "string") and format("[%q]",key) or format("[%d]",key);

		if(type(value) == "table") then
			Serialize(value, sKey, hFile, sTab.."\t");
		else
			local sValue = (type(value) == "string") and format("%q",value) or tostring(value);
			write(hFile, sTab.."\t"..sKey.." = "..sValue);
		end

		write(hFile, ",\n");
	end

	write(hFile, sTab.."}");
end

-- Save Table to File --
SaveToFile = function(file , table , tablename)
	local hFile = openfile(file, "w");
	Serialize(table, tablename, hFile);
	closefile(hFile);
end

-- Load Table From File --
LoadFromFile = function(file)
	assert(readfrom(file),file.." is not found.")
	dostring(read("*all"))
	readfrom()
end



bastya_elvtars

imho serialize always depends on the table structure you are willing to use.
function parse(tbl)
	local cnt=""
	for a,b in tbl do
		cnt=cnt.."\t\t\t\t\t\t\t\t\t["..a.."]=\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t[\"who\"]=\""..b["who"].."\",\n\t\t\t\t\t\t\t\t\t[\"when\"]=\""..b["when"]..
		"\",\n\t\t\t\t\t\t\t\t\t[\"message\"]=\""..b["message"].."\",\n\t\t\t\t\t\t\t\t\t},\n"
	end
	return cnt
end

function savemsg()
	writeto("offline.ini")
	local what="message=\n{"
	for a,b in message do
		what=what.."\n\t\t\t[\""..a.."\"]={\n"..parse(b).."\t\t\t},"
	end
	what=what.."\n}"
	write(what)
	writeto()
end

bah

see this bot  instead...
Everything could have been anything else and it would have just as much meaning.

SMF spam blocked by CleanTalk