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 ตามที่คุณไป ทำให้โปรเจคของคุณเบาและสามารถจัดการได้