【问题标题】:Write/read a Common Lisp (SBCL) hash-table, or alternative写入/读取 Common Lisp (SBCL) 哈希表,或替代
【发布时间】:2011-08-19 00:26:53
【问题描述】:

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

如果没有,是否有另一种可存储的方式来保持绑定到字符串的整数列表,能够有效地修改这些列表,并具有恒定或至少比 alist 更快的访问时间?
使用 alist 实现二叉搜索树是否足够容易?这是制作基本数据库的好主意吗?

【问题讨论】:

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


    【解决方案1】:

    MAPHASH 将一个带有两个参数的函数映射到一个散列表上,以获得副作用。这两个参数是哈希表中每个项目的键和值。例如,您可以使用它来将哈希表中的每个项目写入键和值的列表:

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

    【讨论】:

    • @gaidal,如果这解决了您的问题,您应该通过单击投票箭头上方的复选标记来接受答案。
    • @dsolimano 谢谢,我知道,它确实解决了我的问题,但我觉得可以回答更多问题。无论如何,现在已经检查过了。
    • 嗯。阅读这个问题,我真的希望至少能在 python 中找到接近 dict 文字的东西。或 Reader 读取的哈希表的输出版本。我想它可能被阅读器宏破解了。
    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2017-02-27
    • 2015-09-30
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    相关资源
    最近更新 更多