Clojure:
Sprawdzanie, czy katalog istnieje
Jak to zrobić:
Clojure, jako język działający na JVM, może wykorzystać klasę java.io.File z Javy do tego celu. Nie potrzebujesz żadnej biblioteki stron trzecich dla tak podstawowej operacji. Oto jak możesz to zrobić:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Przykład użycia
(println (directory-exists? "/ścieżka/do/twojego/katalogu")) ;; true albo falseTa funkcja, directory-exists?, przyjmuje ścieżkę katalogu jako ciąg znaków i zwraca true, jeśli katalog istnieje, oraz false w przeciwnym razie. Jest to osiągane poprzez utworzenie obiektu File ze ścieżką katalogu, a następnie wywołanie metody .exists na tym obiekcie.
Oprócz bezpośredniego wykorzystania Javy, możesz użyć bibliotek Clojure, które abstrahują część boilerplate’u Javy. Jedną z takich bibliotek jest clojure.java.io. Jednakże, do sprawdzenia czy katalog istnieje, nadal używałbyś klasy File, ale możesz uznać bibliotekę za przydatną do innych operacji na plikach. Przykład:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Przykład użycia
(println (directory-exists?-clojure "/inną/ścieżkę/do/sprawdzenia")) ;; true albo falseTa wersja jest dość podobna, ale używa funkcji Clojure io/file do stworzenia obiektu File. Ta metoda bardziej naturalnie wpisuje się w bazy kodu Clojure przez wykorzystanie biblioteki Clojure do operacji IO, zamiast bezpośredniego interfejsowania się z klasami Javy.