Pregunta

Me gustaría escribir/leer una mesa de hash hacia/desde el disco, pero no es un (print)objeto capaz. No sabré los nombres clave, así que no puedo pensar en una forma de hacerlo manualmente. Leí que podría haber formas específicas de distribución de hacer esto; ¿Hay algo para esto en SBCL?
No encontré nada en el manual SBCL o en Google.

Si no, ¿hay otra forma almacenable de mantener listas de enteros unidos a cadenas, poder modificar esas listas de manera eficiente y tener un tiempo de acceso constante o al menos más rápido que alista?
¿Son los árboles de búsqueda binarios lo suficientemente fáciles de implementar con alists y es una buena idea para hacer una base de datos básica?

¿Fue útil?

Solución

MAPHASH mapea una función con dos argumentos sobre una tabla hash para efectos secundarios. Los dos argumentos son la clave y el valor de cada elemento en la tabla hash. Puede usar esto para, por ejemplo, escribir cada elemento en la tabla hash como una lista de la clave y el valor:

(maphash (lambda (key value)(write (list key value))) *hash-table*)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top