Módulo:Print: mudanças entre as edições
Aspeto
Sem resumo de edição |
Sem resumo de edição |
||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 1: | Linha 1: | ||
local p = {} --p stands for package | |||
function table_to_string(tbl) | function p.table_to_string(tbl) | ||
local result = "{" | local result = "{" | ||
for k, v in pairs(tbl) do | for k, v in pairs(tbl) do | ||
Linha 9: | Linha 10: | ||
local value | local value | ||
if type(v) == "table" then | if type(v) == "table" then | ||
value = table_to_string(v) -- Recursão para tabelas aninhadas | value = p.table_to_string(v) -- Recursão para tabelas aninhadas | ||
elseif type(v) == "string" then | elseif type(v) == "string" then | ||
value = '"'..v..'"' | value = '"'..v..'"' | ||
Linha 26: | Linha 27: | ||
return result.."}" | return result.."}" | ||
end | end | ||
return p |
Edição atual tal como às 22h21min de 29 de março de 2025
A documentação para este módulo pode ser criada em Módulo:Print/doc
local p = {} --p stands for package
function p.table_to_string(tbl)
local result = "{"
for k, v in pairs(tbl) do
-- Converte a chave para string
local key = type(k) == "string" and '"'..k..'"' or tostring(k)
-- Converte o valor para string
local value
if type(v) == "table" then
value = p.table_to_string(v) -- Recursão para tabelas aninhadas
elseif type(v) == "string" then
value = '"'..v..'"'
else
value = tostring(v)
end
result = result.."["..key.."] = "..value..", "
end
-- Remove a vírgula e espaço extras no final, se existirem
if result:sub(-2) == ", " then
result = result:sub(1, -3)
end
return result.."}"
end
return p