在Common Lisp中获取任何类型对象的哈希值

时间:2011-12-30 09:16:46

标签: hash lisp common-lisp

我正在尝试在Common Lisp中实现一些数据结构(比如HAMP-hash数组映射的trie),我需要获得32位或64位的对象哈希值,我想在这些数据结构中存储。

我知道我可以将对象放入Common Lisp哈希表(使用(make-hash-table)创建),但我找不到获取对象哈希的方法,例如hashCode的Java或{ Python的{1}} Common Lisp有这样的功能吗?如果没有,CL的标准哈希表如何从任意类型的对象生成哈希值?

1 个答案:

答案 0 :(得分:6)

函数sxhash返回其参数的哈希值。详情:sxhash

* (sxhash 'fred)
4287909749829334992
* (sxhash 'joe)
23906557261513707
* (sxhash 'fred)
4287909749829334992
相关问题