2012-09-14 9 views
0

의 숫자 부분에 대한 참조를 얻는 방법, 어떤 IDeref 객체 팝업 고유 번호가의 Clojure REPL에서 원자/REF/미래

user=> (def a (atom 1)) 
#'user/a 
user=> a 
#<[email protected]: 1> 
이 번호

-2e1c6600가 - 저장된 번호 및 a에서이 번호를 가져 오는 방법은 무엇입니까?

+1

를 사용하여 얻을 수 있습니다 당신은 그것을 – Ankur

답변

4

기본 Java 객체의 hashCode의 16 진수 표현입니다. 당신이 절대적으로 필요하면, 당신은 구현 세부의 (Integer/toHexString (.hashCode a))

user=> (def a (atom 1)) 
#'user/a 
user=> a 
#<[email protected]: 1> 
user=> (Integer/toHexString (.hashCode a)) 
"56092666" 
+4

또는'시스템/idenntityHashCode', http://docs.oracle.com/javase/ 걱정 안 1.5.0/docs/api/java/lang/System.html # identityHashCode (java.lang.Object) –

1

이는 원자의 Java 객체 ID입니다. 디버깅에 도움이되는 것을 제외하고는 사용되지 않습니다. 정말 원한다면 원자에 str을 호출 한 다음 문자열에서 잘라내어 Integer/parseInt에 넘겨 줄 수 있습니다.

관련 문제