ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

Clojure:
ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

วิธีทำ:

Clojure, ในฐานะภาษา JVM, สามารถใช้ประโยชน์จากคลาส java.io.File ของ Java สำหรับวัตถุประสงค์นี้ คุณไม่จำเป็นต้องใช้ไลบรารีภายนอกสำหรับการดำเนินการพื้นฐานเช่นนี้ นี่คือวิธีทำ:

(import 'java.io.File)

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

;; ตัวอย่างการใช้งาน
(println (directory-exists? "/path/to/your/directory")) ;; true or false

ฟังก์ชันนี้, directory-exists?, รับที่อยู่โฟลเดอร์เป็นสตริงและคืนค่า true ถ้าโฟลเดอร์มีอยู่จริง และ false ในกรณีอื่น ๆ นี่ถูกทำได้ด้วยการสร้างวัตถุ File ด้วยที่อยู่โฟลเดอร์แล้วเรียกเมธอด .exists บนวัตถุนี้

นอกจากการใช้งาน Java แบบดิบแล้ว คุณยังสามารถใช้ไลบรารี Clojure ที่ซ่อนรายละเอียดของ Java เหล่านั้นไว้ ไลบรารีหนึ่งที่ทำเช่นนี้คือ 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 or false

เวอร์ชันนี้ค่อนข้างคล้ายกัน แต่ใช้ฟังก์ชัน Clojure io/file เพื่อสร้างวัตถุ File วิธีนี้ผสมผสานเข้ากับฐานโค้ด Clojure ได้อย่างเป็นธรรมชาติมากขึ้นโดยใช้ประโยชน์จากไลบรารีของ Clojure สำหรับการดำเนินการ IO มากกว่าการใช้งานคลาส Java โดยตรง