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 の 16 進表現です。どうしても必要な場合は、(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 に渡すことができます