Saltar al contenido principal

Cargar una tabla desde texto serializado (table.load_string)

Declaración

tabla_asociativa = table.load_string(texto_tabla)

Parámetros

  • texto_tabla
    Tipo texto; texto de la estructura de árbol serializada de una tabla. Solo puede contener datos estáticos y no puede contener código dinámico

Valor devuelto

  • tabla_asociativa
    Tipo tabla o nil; devuelve la estructura de la tabla si la carga tiene éxito y nil si falla

Descripción

Convierte una descripción textual de una estructura de árbol en un objeto tabla.
En cierta medida, table.load_string puede considerarse la función inversa de table.deep_dump; su utilidad real depende de si existen referencias circulares o tipos de referencia que no sean tablas.
A diferencia de load, esta función no ejecuta el código del texto, sino que solo lee sus datos estáticos.
El ejemplo siguiente contiene código ejecutable; después de ejecutarlo, b es nil (el código no se ejecuta).

b = table.load_string[[ {
a = os.execute('reboot'), -- este código no se ejecutará y se devolverá nil
} ]]

Ejemplo

local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)

Nota: el código anterior utiliza la función sys.alert, que no pertenece a este capítulo.