1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
toString = function(table)
	local returnString = '{'
	for k, v in pairs(table) do
		local key = (type(k) == 'string' and '"'.. k ..'"' or k)
		if type(v) == 'string' then
			returnString = returnString ..'['.. key ..'] = '.. string.format('%q', v) ..','
		elseif type(v) == 'number' then
			returnString = returnString ..'['.. key ..'] = '.. v ..','
		elseif type(v) == 'boolean' then
			returnString = returnString ..'['.. key ..'] = '.. tostring(v) ..','
		elseif type(v) == 'table' then
			returnString = returnString ..'['.. key ..'] = '.. sf.funcs.table.toString(v) ..','
		elseif type(v) == 'function' then
			returnString = returnString ..'['.. key ..'] = "'.. tostring(v) ..'",'
		end
	end
	returnString = string.sub(returnString, 1, -2)
	returnString = returnString .. '}'
	return returnString
end;