小编JFo*_*rth的帖子

Clojure-将文件路径转换为树

我对Clojure还是陌生的,因此我在如何使用文件路径在Clojure中创建树感到很苦恼。我使用file-seq将所有文件保存在目录下,并将它们存储在中files。输入是一个文件路径,如下所示:

resources/data/2012/05/02/low.xml
resources/data/2012/05/01/low.xml
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令获取文件夹和文件的所有单独名称:

(for [x files] 
 (if (.contains (.getPath x) ".json")
  (for [y (str/split (.getPath x) #"\\")] y)))
Run Code Online (Sandbox Code Playgroud)

这给了我所有文件夹的列表,但是我不知道如何将它们组合成一个列表来创建树形结构。如果有任何答案可以解释他们的代码如何工作,以帮助学习。这2个输入的期望输出为:

(resources (data (2012 (05 (02 (low.xml)) (01 (low.xml))))))
Run Code Online (Sandbox Code Playgroud)

tree clojure

0
推荐指数
1
解决办法
277
查看次数

标签 统计

clojure ×1

tree ×1