回答
下面的函數,你在找什麼,給你描述它的場景似乎沒有必要檢查依賴關係,因此該函數不會執行任何操作,只能將load-file
與所提供的路徑中的所有文件一起使用。
(defn load-files [path]
(let [file (java.io.File. path)
files (.listFiles file)]
(doseq [x files]
(when (.isFile x)
(load-file (.getCanonicalPath x))))))
(load-files ".")
爲listFiles
的文檔說,有順序沒有保證的文件返回,所以可能的改進是提供一個鍵功能(即返回其上的排序是做導航鍵的功能)做排序。
(defn load-files [path f]
(let [file (java.io.File. path)
files (sort-by f (.listFiles file))]
(doseq [x files]
(when (.isFile x)
(load-file (.getCanonicalPath x))))))
(load-files "." #(.getName %))
如果你想要加載在目錄樹中的所有文件,那麼你可以使用file-seq
通過@edbond的建議。
(defn load-files [path f]
(let [files (->> path java.io.File. file-seq (sort-by f))]
(doseq [x files]
(when (.isFile x)
(load-file (.getCanonicalPath x))))))
(load-files "." #(.getName %))
file-seq可以在這裏使用 – edbond
@edbond'file-seq'可以被使用,但是它也會在'path'的子目錄中列出文件,但是也可能這就是OP想要的。我將用'file-seq'添加第三個實現。 –
這不適用於REPL以外的clojurescript。這似乎不是一個clojurescript問題,標籤有誤導性。僅供參考編輯標籤的人員。 – user3810626
- 1. jinja2文件系統加載器加載所有子目錄
- 2. 從JavaScript/HTML5中加載目錄中的所有文件
- 3. 從項目目錄加載XML文件
- 4. 從插件目錄加載文件
- 5. 從父目錄加載文件
- 6. wceload.exe不從目錄加載CAB文件。
- 7. 從'views'目錄加載文件
- 8. 從根目錄加載文件
- 9. Python - 從目錄加載AIML文件
- 10. 如何從所選目錄加載一些文件,ASP.NET
- 11. 從目錄獲取所有文件名
- 12. wget:下載目錄/子目錄中的所有文件
- 13. scikit-learn中的load_files不加載目錄中的所有文件
- 14. 如何加載目錄中的所有標籤文件?
- 15. 在Java applet中加載目錄中的所有文件
- 16. 如何動態加載目錄中的所有jar文件?
- 17. Clojure的加載文件
- 18. 無法使用節點ssh2從目錄下載所有文件
- 19. 使用WGET從網站/目錄下載所有.tar.gz文件
- 20. 加載目錄中的所有圖像
- 21. 我怎麼能自動從的WebPack指定目錄加載所有JSON文件?
- 22. 從當前目錄和子目錄檢索所有文件
- 23. 從目錄和所有子目錄中移動文件
- 24. PHP - 從FTP中的所有目錄中獲取所有文件
- 25. 基於目錄中所有文件的兩列加入文件
- 26. 從與jar文件相同的目錄加載log4j2.xml文件
- 27. 從與jar文件相同的目錄加載文件
- 28. 列出目錄+子目錄中的所有文件和目錄
- 29. 從某個目錄將所有函數加載到PowerShell中
- 30. 如何從/ bin目錄中加載所有程序集
爲什麼要這麼做?你是否期望在命名空間和依賴關係中沒有衝突? – Chiron
我有一些名字空間變得太大了一個文件,所以我已經把它分成幾個文件,我加載到我的主要ns文件加載函數,我可以很方便地能夠導入所有這些在一個函數中 – szymanowski