Clojure:
การแทรกค่าลงในสตริง
วิธีทำ:
;; พื้นฐานด้วย `str` และ `format`
(def name "World")
(str "Hello, " name "!") ; => "Hello, World!"
;; การใช้ `format`, คล้ายกับการจัดรูปแบบแบบ printf
(format "Goodbye, %s!" name) ; => "Goodbye, World!"
;; Clojure ไม่มีการอินเตอร์โพเลชั่นสตริงเข้ามาในตัวอย่างภาษาอื่น,
;; แต่เราสามารถใช้ `str` และ `format` อย่างครีเอทีฟได้.
การดำดิ่งลงไป:
Clojure เป็นภาษาที่เรียบง่าย: ไม่มีการอินเตอร์โพเลชั่นสตริงเข้ามาในตัว. อย่างไรก็ตาม, str
และ format
เป็นตัวเลือกในการสร้างสตริงไดนามิก. ที่มาของมัน? จริยธรรมของความเรียบง่ายของ Clojure มันไว้ใจว่าเราสามารถจัดการการสร้างสตริงด้วยตัวเอง.
สำหรับทางเลือกอื่น, เข้าสู่โลกของการทำ templating: clostache
(การใช้ Clojure กับ Mustache) หรือ hiccup
สำหรับบริบท HTML. พวกเขามาสะดวกเมื่อ str
และ format
ดูเรียบง่ายเกินไป.
ภายใต้ผ้าม่าน, format
มอบหมายงานให้กับ String.format
ของ Java, ข้อเท็จจริงนี้สะท้อนถึงความสามารถในการทำงานร่วมกันกับ Java ของ Clojure. ดังนั้น, แม้คุณจะไม่ได้รับความหวานนั้น, คุณมีพลังของ Java เมื่อคุณต้องการ.
ดูเพิ่มเติม:
- เอกสาร Clojure เกี่ยวกับ
str
: https://clojuredocs.org/clojure.core/str - เอกสาร Clojure เกี่ยวกับ
format
: https://clojuredocs.org/clojure.core/format - คลังข้อมูล clostache ใน GitHub: https://github.com/fhd/clostache
- คลังข้อมูล hiccup ใน GitHub: https://github.com/weavejester/hiccup