clojure 세션에서 이미 정의 된 것을 볼 수있는 방법이 있나요? (ls() 호출과 동일)? 이 전 몇 객체를 생성한다고 가정 해 봅시다 :Clojure 네임 스페이스 : 정의 된 개체를 보는 방법?
(def x 1)
(def y 2.2)
(def plus-one (fn [x] (+ x 1)))
이 이제 사용자 이름 공간에 존재한다는 것을 나에게 보여주기 위해 실행할 수있는 명령이 있나요?
clojure 세션에서 이미 정의 된 것을 볼 수있는 방법이 있나요? (ls() 호출과 동일)? 이 전 몇 객체를 생성한다고 가정 해 봅시다 :Clojure 네임 스페이스 : 정의 된 개체를 보는 방법?
(def x 1)
(def y 2.2)
(def plus-one (fn [x] (+ x 1)))
이 이제 사용자 이름 공간에 존재한다는 것을 나에게 보여주기 위해 실행할 수있는 명령이 있나요?
사용자 이름 공간에서 모든 할당을하고 있습니다.
user> (def *foo 10)
#'user/*foo
; 사용자 이름 공간에서 모든 공용 인턴 매핑을 확인합니다.
user> (ns-publics 'user)
{*foo #'user/*foo}
는 이제
user> (defn- foobar[x]
(println x)
#'user/foobar
는 NS-대중 함수를 호출 공공없는 기능을 정의 할 수 있습니다. 매핑에 foobar 함수가 표시되지 않습니다.
user> (ns-publics 'user)
{*foo #'user/*foo}
네임 스페이스에 대한 인턴 매핑을 확인합니다. (네스 인턴의 네임 스페이스)
user> (ns-interns 'user)
{foobar #'user/foobar, *foo #'user/*foo}
ns-publics
?
네임 스페이스에 대한 공용 인턴 매핑의 맵을 반환합니다.
또는 ns-map
?
네임 스페이스에 대한 모든 매핑의 맵을 반환합니다. 내가 알고있는 것처럼
, 더 "지구 환경은,"단지 네임 스페이스가 없습니다. 물론 현재 "현재"있는 곳이 실용적인 "지구 환경"과 같습니다.
+1 감사합니다. 매우 도움이됩니다. – Shane
아, 그래서 그것은'ns-interns'가하는 것입니다! +1하지만 투표에서 벗어났습니다.) –