Closed cortigeronimo closed 6 years ago
👋 ¿De qué TAD estamos hablando, che?
Contanos un poco más, a ver si estamos todos más o menos de acuerdo, y hasta quizá la implementamos.
BTW, ¿te animás a preparar un Pull Request para implementarlo vos?
En el trabajo práctico actual, necesitamos eliminar una key con su correspondiente valor, en un archivo de configuración. Tenemos un archivo nodos.bin que registra la información de cada nodo que se conecta con filesystem (como por ejemplo su tamaño total, los bloques disponibles/libres). El tema es que si por alguna razón, alguno de estos nodos se desconecta, se deberían borrar esas keys. Particularmente en este ejemplo, podría evitarse quizás no eliminar la key, y trabajarlo con algún valor centinela, pero no es muy lindo que digamos. Lo que hice fue hacer una función que recibe la ruta del archivo y la key a borrar, lo abre y va pasando la información a otro archivo, excepto la linea de la key que quiero borrar. Una vez terminado, elimino el archivo original (el que contenía la key) y renombro el archivo nuevo (el que no tiene la key). Seguramente se puede hacer mejor, estoy seguro. El tema es que la función que hice no puede usarse cuando ya está creada la instancia de la config. Entonces lo que hago es, una vez terminado de actualizar el archivo (setear keys, agregar otras, etc), guardo y destruyo la instancia, y luego ejecuto la función que hice. Igualmente lo hable hoy con Gastón y me dijo que la iba a implementar.
La idea tiene mi :+1: , no recuerdo si lo hablé con @gerosamore o fue con otro chico, pero dado que tenemos una para agregar keys, porque no una para sacar? (A parte que hubiera venido al re pelo para este tp, pero eso es ya otro tema.
Por mi esta ok, justo hoy le dije que me parecia bien. Si bien el config empezo siendo una entidad inmutable, creo que últimamente le estuvimos agregando operaciones para hacer que cambie, así que me parece bien.
Aca dejo un pull request de esta funcionalidad #96
Debería existir una función que remueva una key.