Ir para o conteúdo

Módulo:Print: mudanças entre as edições

De DropWiki PoE 2
Sem resumo de edição
Sem resumo de edição
 
Linha 10: 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..'"'

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