在clojure repl中,为任何IDeref对象弹出一个唯一的数字
user=> (def a (atom 1))
#'user/a
user=> a
#<Atom@2e1c6600: 1>
这个号码在哪里 - 2e1c6600
- 已存储,我们如何从a
获取此号码?
答案 0 :(得分:4)
它是底层Java对象的hashCode的十六进制表示。如果您绝对需要,可以使用(Integer/toHexString (.hashCode a))
user=> (def a (atom 1))
#'user/a
user=> a
#<Atom@56092666: 1>
user=> (Integer/toHexString (.hashCode a))
"56092666"
答案 1 :(得分:1)
这是atom的java对象id。除了帮助调试之外,它不打算使用。如果你真的想要它你可以在原子上调用str然后将其从字符串中删除并将其提供给Integer / parseInt