如何使用clojure包含文件夹中的所有文件

时间:2016-12-22 09:54:46

标签: clojure

如何使用clojure将所有文件包含在文件夹中。

这是我的代码:

(defn LoadFiles[]
    (include "utils")
)
(LoadFiles)

但上面的代码无效。

2 个答案:

答案 0 :(得分:2)

据我所知,在clojure中没有include(如果我错了,请纠正我)。 您应该使用userequire

这个应该可以工作(对于utils顶层的所有.clj文件,但你可以很容易地将它扩展为递归):

(defn list-sources [path]
  (map #(str path "." (second (re-matches #"^(\w+)\.clj$" (.getName %))))
       (filter #(.isFile %) (file-seq path))))

(run! #(require (vector (symbol %) :refer :all))
      (list-sources (java.io.File. "utils")))

答案 1 :(得分:1)

可能是这样的:

def get_prepopulated_fields(self, request, obj=None):
    if obj and obj.global_status == AVAILABLE_STORY:
        return {}
    return self.prepopulated_fields