Leer/escribir un archivo de propiedades con lua

En java, estoy acostumbrado a usar las clases integradas para leer y escribir archivos de propiedades, pero no existe algo similar para lua.

¿Cuál es la forma más sencilla de guardar un nombre y un valor en un archivo y luego recuperar el valor usando el nombre?

preguntado el 13 de enero de 13 a las 16:01

Todo depende de lo que realmente quieras. Lua está centrada en la tabla. Considera leer lua-users.org/wiki/TableSerialization para ver las decisiones de diseño que tienes que tomar. -

2 Respuestas

La más simple manera sería algo como esto:

local name, value = "abc", 123
local f = io.open("outfile", "w")
f:write("return {" .. name .. " = " .. value .. "}")
f:close()

---

local t = dofile("outfile")
print( t[name] )
--> 123

Esto funciona, pero no es muy seguro como dofile() simplemente ejecuta cualquier código Lua que encuentre en el archivo. Si el archivo devuelve una tabla llena de sus valores guardados como lo hace aquí, entonces funciona muy bien, pero alguien podría editar fácilmente este archivo para que contenga os.execute("sudo rm -rf /") u otra diversión tan deliciosa.

Es posible hacer esto más robusto con un uso juicioso de setfenv() y debug.sethook(), pero si desea hacerlo correctamente, debe usar una de las muchas bibliotecas de serialización para Lua, una selección de las cuales se puede encontrar aquí.

Respondido el 13 de enero de 13 a las 18:01

Consulte este ejemplo, https://flicsdb.com/read-properties-file-in-lua/ Explica cómo leer el archivo de propiedades y también ignorar los espacios en blanco o #

respondido 05 mar '19, 07:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.