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.