Clojure:
Verifica se una directory esiste
Come fare:
Clojure, essendo un linguaggio JVM, può utilizzare la classe java.io.File
di Java per questo scopo. Non hai bisogno di alcuna libreria di terze parti per un’operazione così basilare. Ecco come puoi farlo:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Esempio di utilizzo
(println (directory-exists? "/path/to/your/directory")) ;; vero o falso
Questa funzione, directory-exists?
, prende un percorso di directory come stringa e restituisce true
se la directory esiste e false
altrimenti. Questo è ottenuto creando un oggetto File
con il percorso della directory e poi chiamando il metodo .exists
su questo oggetto.
Oltre all’interop Java grezzo, puoi utilizzare le librerie di Clojure che astraggono parte del boilerplate Java. Una di queste librerie è clojure.java.io
. Tuttavia, per verificare se una directory esiste, si utilizzerebbe comunque la classe File
, ma potresti trovare la libreria utile per altre operazioni sui file. Esempio:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Esempio di utilizzo
(println (directory-exists?-clojure "/another/path/to/check")) ;; vero o falso
Questa versione è molto simile ma usa la funzione io/file
di Clojure per creare l’oggetto File
. Questo metodo si integra più naturalmente nei codici Clojure sfruttando la libreria di Clojure per le operazioni IO, piuttosto che interfacciarsi direttamente con le classi Java.