写/读Common Lisp(SBCL)哈希表,或替代

时间:2011-05-05 02:28:50

标签: lisp hashtable common-lisp sbcl read-write

我想在/从磁盘写入/读取哈希表,但它不是(print)能够对象。我不会知道关键名称,所以我想不出手动方式。我读到可能有特定于发行版的方法来做到这一点;在SBCL有什么事吗?
我没有在SBCL手册或Google上找到任何内容。

如果没有,是否有另一种可存储的方法可以保持绑定到字符串的整数列表,能够有效地修改这些列表,并且具有恒定或至少比访问时间更快的访问时间?
二元搜索树是否足以用alist实现,这对于创建基本数据库是一个好主意吗?

1 个答案:

答案 0 :(得分:11)

MAPHASH在哈希表上映射带有两个参数的函数以获得副作用。这两个参数是哈希表中每个项的键和值。您可以使用它来编写哈希表中的每个项目作为键和值的列表:

(maphash (lambda (key value)(write (list key value))) *hash-table*)