On 22 Apr., 21:12, Phil Hagelberg <p...@hagelb.org> wrote:
> I couldn't find an equivalent to "rm -rf" in the JDK, so I wrote these
> functions:
>
> (defn delete-file
>   "Delete file f. Raise an exception if it fails."
>   [f]
>   (or (.delete (file f))
>       (throw (java.io.IOException. (str "Couldn't delete " f)))))
>
> (defn delete-file-recursively
>   "Delete file f. If it's a directory, recursively delete all its
>   contents. Raise an exception if any deletion fails."
>   [f]
>   (let [f (file f)]
>     (if (.isDirectory f)
>       (doseq [child (.listFiles f)]
>           (delete-file-recursively child)))
>     (delete-file f)))
>
> This seems like it would be a helpful addition to contrib, since you
> have to do this a lot with unit tests that write to disk in order to
> clean up after yourself. I can create an issue+patch if others think
> this is desirable.

This could really be helpful for some fixtures during unit testing.
One minor change that I personally would make is using when vs. if
in delete-file-recursively. Perhaps also renaming the parameters of
the functions to file, although this may conflict with the function
file that you are using.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to