Sjekker om en mappe eksisterer

Clojure:
Sjekker om en mappe eksisterer

Hvordan gjøre dette:

Clojure, som er et JVM-språk, kan utnytte Java sin java.io.File klasse for dette formålet. Du trenger ikke noe tredjepartsbibliotek for en så grunnleggende operasjon. Her er hvordan du kan gjøre det:

(import 'java.io.File)

(defn directory-exists? [dir-path]
  (let [dir (File. dir-path)]
    (.exists dir)))

;; Eksempel på bruk
(println (directory-exists? "/path/to/your/directory")) ;; true eller false

Denne funksjonen, directory-exists?, tar en katalogbane som en streng og returnerer true hvis katalogen eksisterer og false ellers. Dette oppnås ved å opprette et File objekt med katalogbanen og deretter kalle .exists metoden på dette objektet.

I tillegg til direkte Java interop, kan du bruke Clojure-biblioteker som abstraherer bort noe av Java-boilerplate. Et slikt bibliotek er clojure.java.io. Imidlertid, for å sjekke om en katalog eksisterer, ville du fortsatt bruke File klassen, men du kan finne biblioteket nyttig for andre filoperasjoner. Eksempel:

(require '[clojure.java.io :as io])

(defn directory-exists?-clojure [dir-path]
  (.exists (io/file dir-path)))

;; Eksempel på bruk
(println (directory-exists?-clojure "/another/path/to/check")) ;; true eller false

Denne versjonen er ganske lik, men bruker Clojure sin io/file funksjon for å opprette File objektet. Denne metoden blander seg mer naturlig inn i Clojure-kodebaser ved å utnytte Clojures bibliotek for IO-operasjoner, i stedet for å direkte grensesnitt med Java-klasser.