Clojure:
เริ่มต้นโครงการใหม่

วิธีการ:

เพื่อ bootstrap โปรเจค Clojure, เราจะใช้ Leiningen, เครื่องมือสร้างที่ได้รับความนิยมสำหรับ Clojure:

;; 1. ติดตั้ง Leiningen หากคุณยังไม่ได้ติดตั้ง (https://leiningen.org/)
;; 2. สร้างโครงกระดูกโปรเจคใหม่:
lein new app my-cool-app

;; 3. นำทางไปยังโปรเจคใหม่ของคุณ:
cd my-cool-app

;; 4. เริ่ม REPL (Read-Eval-Print Loop):
lein repl

;; ตัวอย่างผลลัพธ์:
;; nREPL server started on port 12345 on host 127.0.0.1 - nrepl://127.0.0.1:12345
;; REPL-y 0.4.4, nREPL 0.6.0
;; Clojure 1.10.1
;; Java 1.8.0_232
;;     Docs: (doc function-name-here)
;;           (find-doc "part-of-name-here")
;;   Source: (source function-name-here)
;;  Javadoc: (javadoc java-object-or-class-here)
;;     Exit: Control+D or (exit) or (quit)
;;  ผลลัพธ์: จัดเก็บใน vars *1, *2, *3, ถ้าเกิดข้อผิดพลาดใน *e

;; 5. สร้างไฟล์สำหรับโค้ดของคุณ (src/my_cool_app/core.clj) และเปิดในโปรแกรมแก้ไขข้อความที่คุณชอบ

;; 6. เขียนโค้ด Clojure ง่ายๆ:
(ns my-cool-app.core)

(defn say-hello []
  (println "Hello, Clojure world!"))

;; 7. รันฟังก์ชันของคุณใน REPL:
(my-cool-app.core/say-hello)

;; ตัวอย่างผลลัพธ์:
;; Hello, Clojure world!

ลงลึก

โปรเจค Clojure มักเริ่มต้นด้วย Leiningen หรือ Boot สำหรับการจัดการ dependencies, การสร้าง, และการทำงานแบบอัตโนมัติ Leiningen ได้เริ่มต้นมาตั้งแต่ 2010 และได้เป็นตัวเลือกมาตรฐานสำหรับ Clojurists ส่วนใหญ่

มีเครื่องมืออื่นๆ ที่มีอยู่ เช่น deps.edn และเครื่องมือ Clojure CLI ซึ่งถูกนำเสนอโดย Clojure/core เพื่อให้การจัดการ dependency และการกำหนดค่าโปรเจคเป็นไปอย่างง่ายดาย

Clojure เองให้คุณค่ากับความไม่เปลี่ยนแปลงและการเขียนโปรแกรมแบบฟังก์ชัน การเริ่มต้นโปรเจคอย่างถูกต้องเน้นการจัดการสถานะที่สะอาดและการแยกปัญหาออกจากฟังก์ชันและเนมสเปซต่างๆ

โปรเจคมักจะยึดตามโครงสร้างไดเรกทอรีมาตรฐาน:

  • src/ สำหรับโค้ดหลักของคุณ
  • test/ สำหรับโค้ดทดสอบ
  • resources/ สำหรับทรัพยากรที่ไม่ใช่โค้ด
  • project.clj หรือ deps.edn เพื่อจัดการ dependencies และการกำหนดค่า

ปฏิบัติที่ดีคือการเก็บสิ่งต่างๆ เรียบง่ายในตอนเริ่มต้น เพิ่ม dependencies ตามที่คุณไป ทำให้โปรเจคของคุณเบาและสามารถจัดการได้

ดูเพิ่มเติม