2011-04-06 4 views

답변

7

당신은 할 경우

(def x 42) 

VAR 바인딩을 해제하는 것이 유용 할 수 있습니다이

x 

를하려고하면, 지금

(.unbindRoot #'x) 

를 당신이 얻을 :

#<Unbound Unbound: #'user/x> 
,536,
15

난 당신이 NS-의 매핑을 해제이 작업을 수행 할를 사용할 수있는, 생각합니다.

P. 코멘트에이 코드를 추가 할 수 없으므로 여기에 입력하십시오. 현재 네임 스페이스 기능 매핑을 해제하려면 다음 코드를 사용합니다 : 아무도 인수 버전이 없습니다

(ns-unmap *ns* 'method) 
+0

(ns-unmap :: some-method)를 사용하면 java.lang.IllegalArgumentException이 발생합니다. 하나의 인수 버전이 있습니까? NS-의 매핑을 해제는 단지 하나의 자격을 갖춘 심볼을 할 수없는 이유 – Zubair

36

, 같은 바르가 하나 이상의 네임 스페이스에 매핑 할 수 있기 때문이다. 당신이 REPL에서 작업하는 경우, 당신은 종종 사용자 네임 스페이스, 예를 들어,에서 바인딩을 해제 할

(ns-unmap 'user 'symbol-to-unbind) 

ns-unmap의 첫 번째 인수는 기호 또는 네임 스페이스가 될 수 있고 두 번째 인수는 기호 여야합니다.

+1

어떤 이유, 예를 들어, ''사용자/심볼 - 언 바인딩 '? – mikera

관련 문제