Clojure:
检查目录是否存在

如何操作:

Clojure作为一种JVM语言,可以为此目的使用Java的java.io.File类。您不需要任何第三方库来完成这样一个基本操作。以下是您可以如何做到的:

(import 'java.io.File)

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

;; 使用示例
(println (directory-exists? "/path/to/your/directory")) ;; true 或 false

这个函数,directory-exists?,接受一个目录路径作为字符串,并且如果目录存在则返回true,否则返回false。这是通过创建一个带有目录路径的File对象,然后在这个对象上调用.exists方法来实现的。

除了原始的Java互操作之外,您还可以使用抽象掉一些Java样板代码的Clojure库。其中一个库是clojure.java.io。然而,对于检查目录是否存在,您仍然会使用File类,但您可能会发现该库对其他文件操作很有用。示例:

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

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

;; 示例用法
(println (directory-exists?-clojure "/another/path/to/check")) ;; true 或 false

这个版本非常相似,但使用Clojure的io/file函数来创建File对象。这种方法通过利用Clojure的IO操作库,而不是直接与Java类接口,更自然地融入Clojure代码库。