Clojure:
Überprüfung, ob ein Verzeichnis existiert
Wie man es macht:
Da Clojure eine JVM-Sprache ist, kann es für diesen Zweck die java.io.File
Klasse von Java nutzen. Für eine solch grundlegende Operation benötigen Sie keine Drittanbieter-Bibliothek. So können Sie es machen:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Beispielverwendung
(println (directory-exists? "/path/to/your/directory")) ;; wahr oder falsch
Diese Funktion, directory-exists?
, nimmt einen Verzeichnispfad als String entgegen und gibt true
zurück, wenn das Verzeichnis existiert, und false
anderweitig. Dies wird erreicht, indem ein File
-Objekt mit dem Verzeichnispfad erstellt und dann die Methode .exists
auf dieses Objekt aufgerufen wird.
Zusätzlich zur direkten Java-Interop-Kompatibilität können Sie Clojure-Bibliotheken nutzen, die einen Teil des Java-Boilerplates abstrahieren. Eine solche Bibliothek ist clojure.java.io
. Allerdings würden Sie für das Überprüfen, ob ein Verzeichnis existiert, immer noch die File
-Klasse verwenden, aber Sie könnten die Bibliothek nützlich für andere Dateioperationen finden. Beispiel:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Beispielverwendung
(println (directory-exists?-clojure "/another/path/to/check")) ;; wahr oder falsch
Diese Version ist recht ähnlich, verwendet jedoch die Clojure io/file
-Funktion, um das File
-Objekt zu erstellen. Diese Methode fügt sich natürlicher in Clojure-Codebasen ein, indem sie Clojures Bibliothek für IO-Operationen nutzt, anstatt direkt mit Java-Klassen zu interagieren.