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