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のライブラリを使用できます。そのようなライブラリの1つが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
このバージョンはかなり似ていますが、File
オブジェクトを作成するためにClojureのio/file
関数を使用します。この方法は、Javaクラスと直接対話するのではなく、IO操作のためのClojureのライブラリを活用することで、Clojureのコードベースにより自然に溶け込みます。