Leer/escribir un archivo de propiedades con lua
Frecuentes
Visto 1,796 equipos
2 Respuestas
3
El 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
0
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 io lua or haz tu propia pregunta.
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. - Dmitry Ledentsov