Carregar uma tabela a partir de texto serializado (table.load_string)
Declaração
tabela_de_associacao = table.load_string(texto_da_tabela)
Parâmetro
- texto da tabela
Texto; texto serializado da estrutura em árvore da tabela. Só pode conter dados estáticos, sem código dinâmico.
Valor de retorno
- tabela de associação
Tabela ou nil; retorna a estrutura da tabela quando o carregamento é bem-sucedido e nil quando falha.
Descrição
Converte uma descrição textual em árvore em um objeto tabela.
Em certa medida, table.load_string pode ser considerada a função inversa de table.deep_dump; sua utilidade real depende da existência de referências circulares ou tipos de referência que não sejam tabelas.
Diferentemente de load, esta função não executa o código no texto, apenas lê os dados estáticos nele contidos.
O exemplo abaixo contém código executável; após a execução,bserá nil (o código não será executado).
b = table.load_string[[ {
a = os.execute('reboot'), -- este código não será executado e retornará nil
} ]]
Exemplo
local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)
Nota: o código acima usa a função sys.alert, que não pertence a este capítulo.