Lua:
Trabajando con TOML
Cómo hacerlo:
Primero, asegúrate de que tu entorno Lua tenga un analizador de TOML. Utilizaremos lua-toml
para este ejemplo.
local toml = require("toml")
-- Analizar cadena TOML
local toml_data = [[
title = "Ejemplo TOML"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
]]
local data = toml.parse(toml_data)
print(data.title) -- "Ejemplo TOML"
-- Generar cadena TOML
local table_data = {
title = "Ejemplo TOML",
owner = {
name = "Tom Preston-Werner",
dob = os.time({year=1979, month=5, day=27, hour=7, min=32})
}
}
local toml_string = toml.encode(table_data)
print(toml_string)
Salida de muestra:
Ejemplo TOML
Profundización
TOML fue creado por Tom Preston-Werner en 2013 como una alternativa a otros lenguajes de serialización de datos como XML y YAML, ofreciendo un formato más directo para representar datos de configuración. Aunque JSON es ubicuo, su sintaxis puede ser engorrosa para archivos de configuración. TOML brilla con una sintaxis más clara para los humanos, pareciéndose a los archivos .ini pero con capacidades de anidamiento y tipos de datos.
Las alternativas a TOML incluyen JSON, YAML y XML. Sin embargo, TOML está específicamente diseñado para configuración y es, posiblemente, más simple que YAML, más legible que JSON para propósitos de configuración y menos verboso que XML.
La implementación del manejo de TOML en Lua generalmente requiere una biblioteca de terceros. El rendimiento y las características pueden variar, desde el análisis básico hasta el soporte de serialización completa. Al tratar con archivos de configuración grandes o operaciones de lectura/escritura frecuentes, considera el rendimiento de la biblioteca y la conformidad con la última versión de TOML.
Ver También
- Especificación de TOML: https://toml.io/en/
- biblioteca
lua-toml
: https://github.com/jonstoler/lua-toml - Comparación de Formatos de Serialización de Datos: https://en.wikipedia.org/wiki/Comparison_of_data-serialization_formats