【发布时间】:2018-03-28 22:43:34
【问题描述】:
我是 Clojure 的新手,我正在努力研究如何使用文件路径在 Clojure 中创建树。我使用 file-seq 获取目录下的所有文件并将它们存储在 files 中。输入是一个文件路径,如下所示:
resources/data/2012/05/02/low.xml
resources/data/2012/05/01/low.xml
我可以使用以下方法获取文件夹和文件的所有单独名称:
(for [x files]
(if (.contains (.getPath x) ".json")
(for [y (str/split (.getPath x) #"\\")] y)))
这给了我所有文件夹的列表,但我不知道如何将它们组合成 1 个列表以创建树结构。如果有任何答案可以解释他们的代码如何工作,以帮助学习。这 2 个输入的期望输出为:
(resources (data (2012 (05 (02 (low.xml)) (01 (low.xml))))))
【问题讨论】:
-
你想要的输出是什么?
-
我会把它添加到问题中,这会很有帮助