Walk a directory/Recursively: Difference between revisions

Content added Content deleted
m (→‎{{header|Scala}}: Make critical note clearer)
Line 671: Line 671:
=={{header|Clojure}}==
=={{header|Clojure}}==
The standard function ''file-seq'' does a tree walk.
The standard function ''file-seq'' does a tree walk.
<lang clojure>(import '[java.io File])
<lang clojure>(use '[clojure.java.io])


(defn walk [dirpath pattern]
(defn walk [dirpath pattern]
(doall (filter #(re-matches pattern (.getName %))
(doseq [file (-> dirpath File. file-seq)]
(if (re-matches pattern (.getName file))
(file-seq (file dirpath)))))
(println (.getPath file)))))


(walk "src" #".*\.clj")</lang>
(map #(println (.getPath %)) (walk "src" #".*\.clj"))
</lang>


=={{header|D}}==
=={{header|D}}==