현재 네임 스페이스에서 기호가 해결 될 수 있는지 확인하는 방법은 무엇입니까?
-
06-07-2019 - |
문제
현재 네임 스페이스에서 기호가 해결 될 수 있는지 확인하고 싶습니다. 이 작업을 수행하는 정식 방법은 무엇입니까?
해결책
API 문서를 한 번 더 선별 한 후에는 적절한 기능이 무엇인지 우연히 발견했습니다.
; Returns the var or Class to which the symbol
; will be resolved in the current namespace, else nil.
(resolve 'foo)
; see also:
(ns-resolve *a-namespace* 'foo)
다른 팁
보세요 이 페이지. 예를 들어
(ns-map *ns*)
현재 네임 스페이스의 바인딩 맵을 제공합니다. 이 맵을 검사하여 기호가 맵의 핵심인지 결정할 수 있습니다.
(defn resolvable? [sym]
(contains? (ns-map *ns*) sym))
나는 이것이인지 모른다 표준 방법.
제휴하지 않습니다 StackOverflow