Pues bien el otro día me preguntaba como almacenar una tabla de este tipo en un archivo.txt:
tabla={x=23,y=12}
Y la verdad no se me ocurre ninguna forma aparte de almacenarlos dato por dato:
ini.write("archivo.txt","1",tabla.x)
Alguien sabe otra forma??
Salu2 y gracias
Mini Tuto sacado de debajo de la manga - by Chimecho
Lo que podrías hacer es una función que te vaya escribiendo el contenido de la tabla, si lo entendí bien lo que quieres es guardar cualquier tabla, de cualquier tamaño y con cualquier índice en un archivo para luego hacer dofile al archivo y tener la tabla cargada.
Pues, para esto, tendrías que usar una función iteradora (como ipairs), otra para ver el tipo tanto de la "clave" y del "valor" (hablo de type) y el resto de funciones que necesites para grabar en un archivo (io, ini, etc...)
Lo primero es definir cómo lo vas a guardar, luego construir el texto, y por último guardar el texto.
Como quieres poder cargar la tabla con dofile, deberás tener texto que lua reconozca como código, y que puedas adaptar a todo tipo de par (clave,valor) ejemplo:
Ok, entonces lo primero que necesitas, es el nombre con el que se va a guardar la tabla, y la tabla en sí, para eso, creas una función que reciba dos parámetros:
Bien, hasta ahí está sólo declarada una tabla vacía, ahora, para guardar los valores, hay que implementar pares2string:
Y con eso creo que ya está, sólo queda usar la función de tabla2string y
guardar el resultado que de pruébalo que no tengo el psp a la mano.
No pongo el "código final" para que tengan que leer todo en lugar de copiar y pegar, la gracia es que se entienda todo :)
Saludos!
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
By Jorge_97
Bueno muchisimas gracias por tu comentario...
Me las he apañado de otro modo no "tan largo y complicado":
El problema que tengo es que me he dado cuenta que no se PUEDEN almacenar colores en archivos de texto. Sorprendente pero cierto.
Es decir:
rojo=color.new(255,0,0)
si almacenas eso en un txt almacena un número...
Alguien sabe como solucionar eso??
Un saludo a todos y muchas gracias
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
O.O
Osea, lo que te estaba diciendo... aíns, es que no atendeis jajajaja
by jorge_97
lol
Aunque el mini tuto de Chime
Aunque el mini tuto de Chime esta excelente, me alegra que encontraras la forma de solucionarlo.
By Jorge_97
Jajjaja si prefiero encontrar la solucion simpre por mí mismo pero como hasta ese momento no lo encontraba pues dije me paso por "El consejo de sabios"
Salu2
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Claro, en verdad un color es
Claro, en verdad un color es un número, por ejemplo lo que sería color.new(255,0,0) en verdad lo que devuelve es el número 0xFF0000 hexadecimal.
By Jorge_97
Si exactamente ;)
Eso fue lo que pensé el problema es debo usar ese color después por lo tanto como lo transformo a RGB??
Salu2 Xerpi
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Como dice xerpi
Es válido igual, pero por si quieres lee la docu, en el módulo color está cómo obtener las 4 componentes con 4 funciones.
Saludos!
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
by jorge_97
Si solo necesitaba añadir 0x
Por ejemplo rojo=ff0000
Para ponerlo en un print=0xff0000
Salu3
No hace falta, si haces: rojo
No hace falta, si haces: rojo = 0xFF0000 será válido igual. No debes preocuparte por eso dejalo tal y cual está, funcionara perfectamente. Ya verás mira esto: http://www.javascripter.net/faq/rgbtohex.htm
By Jorge_97
Muchas gracias ;)
Ahora sí está todo perfecto... se quedará genial mi proyecto ajjaja
Salu2
Perdona pero si como bien
Perdona pero si como bien dices manejas bien el modulo IO por que creastes el notepad, entonces puedes escribir la tabla en un txt, ya que es lo mismo. Primero decide que quieres escribir, solo valores o campos y valores. Segundo decide si lo quieres con el modulo INI o IO. Tercero codealo, entiendo que lo unico que te falla es la planificacion, dado a la informacion poco clara que proporcionas. Mi consejo repasa el seudocodigo y luego si necesitas ayuda exponlo aqui y te ayudamos, ya que el seudocodigo es la base de un buen code
Mmm...
Lo mejor es utilizar el modulo io, que permite leer y escribir archivos, sean txt o ini o gif... Aquí tienes la documentación oficial, también funciona en LuaDEV (Es uno de los módulos generales)
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
By Jorge_97
Si lo sé... si no como crees que hice NotepadCode ¬¬
Lo que no sé es almacenar la tabla
Entonces
¿Que problema tienes? Es solo guardar la tabla como si fuera un texto normal
by jorge_97
La tabla debo usarla despúes... ese es el problema
Salu2
XD
Un dofile y a correr
By Jorge_97
si lees más abajo lo verás que lo que quería era después sobre el archivo almacenadao hacerle un dofile..
Salu2
Mmm...
¿Entonces? Solo tienes que unir las dos cosas
Porque no haces una funcion
y te ahorras tiempo?:
Cómo quieres almacenarla?
Cómo quieres almacenarla? sólo los valores de la tabla, o quieres ponerles rótulos, o tal cual lo escribiste (sintaxis y todo)?
By Jorge_97
Estaría fenomenal almacenarla tal cual para poder usar después un dofile...
Dioni ese método lo sabía ya... lo puse arriba para que no respondieran con eso.
Pero de todos modos gracias.
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.