Clojure:
Tarkistetaan, onko hakemisto olemassa
Kuinka:
Clojurena, ollessaan JVM-kieli, voi hyödyntää Javan java.io.File -luokkaa tähän tarkoitukseen. Et tarvitse mitään kolmannen osapuolen kirjastoa tällaiseen perustoimintoon. Tässä on, miten voit tehdä sen:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Käyttöesimerkki
(println (directory-exists? "/polku/tiedostohakemistoosi")) ;; true tai falseTämä funktio, directory-exists?, ottaa hakemistopolun merkkijonona ja palauttaa true, jos hakemisto on olemassa, ja false muuten. Tämä saavutetaan luomalla File -objekti hakemistopolulla ja sitten kutsumalla .exists -metodia tähän objektiin.
Lisäksi raakaan Java-yhteistyöhön voit käyttää Clojure-kirjastoja, jotka abstrahoivat joitakin Javan boilerplate-koodia. Yksi tällainen kirjasto on clojure.java.io. Kuitenkin, hakemiston olemassaolon tarkistamiseksi käyttäisit silti File -luokkaa, mutta saatat pitää kirjastoa hyödyllisenä muissa tiedosto-operaatioissa. Esimerkki:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Esimerkkikäyttö
(println (directory-exists?-clojure "/toinen/polku/tarkistettavaksi")) ;; true tai falseTämä versio on melko samanlainen, mutta käyttää Clojuren io/file-funktiota File-objektin luomiseen. Tämä menetelmä sulautuu luontevammin Clojure-koodikantoihin hyödyntämällä Clojuren IO-operaatioiden kirjastoa, sen sijaan, että se suoraan käyttäisi Javan luokkia.