Інтерполяція рядків

Clojure:
Інтерполяція рядків

Як робити:

Clojure не має вбудованої підтримки інтерполяції рядків, але ми можемо використовувати str або format функції, або clojure.pprint/cl-format, яка схожа на format у Common Lisp.

; Використання `str`
(def name "Максим")
(str "Привіт, " name "!")

; Використання `format`
(format "Привіт, %s!" name)

; Використання `clojure.pprint/cl-format`
(require '[clojure.pprint :refer [cl-format]])
(cl-format nil "Привіт, ~a!" name)

Приклади виводу:

"Привіт, Максим!"
"Привіт, Максим!"
"Привіт, Максим!"

Глибше занурення

Інтерполяція рядків в інших мовах, наприклад у Ruby чи JavaScript, зазвичай простіша і більш прямолінійна. Clojure робить це через функції вище, бо він приділяє більше уваги незмінності даних і функціональності.

Щодо альтернатив, іноді ліби, наприклад clojure.string, можуть допомогти з загальними операціями рядків, але для інтерполяції вони не так потужні.

Імплементація clojure.pprint/cl-format взята з Common Lisp і дуже потужна. Вона дозволяє форматувати майже будь-що, але при цьому вимагає більше часу для вивчення та розуміння параметрів форматування.

Дивись також