如何确定定义Clojure名称空间的完整文件路径?

时间:2019-06-25 04:03:20

标签: clojure

例如:

$data = Import-Csv -Path "YOUR_FILE_NAME.csv" # READING CSV FILE

foreach ($item in $data) # FOR EACH LOOP IN ALL CSV ENTRIES
{
    Rename-Item -Path "${$item.Oname}" -NewName "${$item.NName}"
} # END OF FOR EACH LOOP

(是的,我知道可以将一个名称空间分成多个文件,但是我们可能会忽略它。)

1 个答案:

答案 0 :(得分:0)

这是该问题的部分解决方案。它适用于类路径中的jar文件,但可能会给您一些想法。

(ns so.find-namespaces
    (:require
        [clojure.tools.namespace.find :as f]
        [clojure.java.classpath :as cp])
    (:import
        [java.util.jar JarFile]))

(apply hash-map (->> (cp/classpath)
                     (filter (memfn isFile))
                     (mapcat #(interleave (f/find-namespaces-in-jarfile (JarFile. %)) (repeat (.getCanonicalPath %))))))

无论如何,如果有解决方案,可能在here