:
(defn files-for-ns [ns-sym]
(->> (ns-publics ns-sym)
keys
(map resolve)
(map meta)
(map :file)
set))
또는 전체 경로를 원한다면 :
(require '[clojure.java.io :as io])
(defn files-for-ns [ns-sym]
(->> (ns-publics ns-sym)
keys
(map resolve)
(map meta)
(map :file)
set
(keep identity)
(map io/resource)
(map str)))
예 :
(use 'clojure.pprint)
(pprint (files-for-ns 'clojure.core))
("jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/gvec.clj"
"jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/core_proxy.clj"
"jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/core.clj"
"jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/core_print.clj"
"jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/core_deftype.clj"
"jar:file:/Users/Borkdude/.m2/repository/org/clojure/clojure/1.9.0-alpha10/clojure-1.9.0-alpha10.jar!/clojure/genclass.clj")
내가 찾고있는 것이지 ... 네가 네임 스페이스를로드 할 때 파일의 철자가 틀린 경우 ... 예외가있다 ... 죄송합니다 x/y/z.clj에 이미 – zcaudate
이 없으므로 이미로드 된 파일이 아닌로드 될 파일입니다. – zcaudate
죄송 합니다만, 무슨 뜻인지는 완전히 분명하지 않습니다. –