我有以下代碼:調用映射功能似乎並沒有做任何事情
(defn remove-folder [file]
(do
(println "Called with file " (.getName file))
(if (.isDirectory file)
(do
(println (.getName file) " is directory")
(def children (.listFiles file))
(println "Number of children " (count children))
(map remove-folder children)
(delete-file file)))
(do
(println (.getName file) " is file")
(delete-file file)
)))
我的問題是,線(地圖中刪除文件夾兒童)似乎並沒有工作。在我的輸出中,我希望能夠通過夾層結構旅行,但它似乎留在第一層。
我想我已經犯了一些愚蠢的錯誤,但我現在花了幾個小時,似乎並沒有接近一個解決方案。
['def'](http://clojure.org/special_forms#def)創建在當前名稱空間中的全局變量。對於本地綁定,您應該使用['let'](http://clojuredocs.org/clojure_core/clojure.core/let)。 –
@LeonidBeschastny原始版本在與地圖相同的一行中調用了.listFiles。問題是調用映射似乎沒有發生任何遞歸調用。 – Roland