我正在尝试在Common Lisp中实现一些数据结构(比如HAMP-hash数组映射的trie),我需要获得32位或64位的对象哈希值,我想在这些数据结构中存储。
我知道我可以将对象放入Common Lisp哈希表(使用(make-hash-table)
创建),但我找不到获取对象哈希的方法,例如hashCode
的Java或{ Python的{1}} Common Lisp有这样的功能吗?如果没有,CL的标准哈希表如何从任意类型的对象生成哈希值?
答案 0 :(得分:6)
函数sxhash
返回其参数的哈希值。详情:sxhash。
* (sxhash 'fred)
4287909749829334992
* (sxhash 'joe)
23906557261513707
* (sxhash 'fred)
4287909749829334992