String interpolation for Clojure.
String interpolation for Clojure.
(<< string)
Takes a single string argument and emits a str invocation that concatenates the string data and evaluated expressions contained within that argument. Evaluation is controlled using ~{} and ~() forms. The former is used for simple value replacement using clojure.core/str; the latter can be used to embed the results of arbitrary function invocation into the produced string.
Examples: user=> (def v 30.5) #'user/v user=> (<< "This trial required ~{v}ml of solution.") "This trial required 30.5ml of solution." user=> (<< "There are ~(int v) days in November.") "There are 30 days in November." user=> (def m {:a [1 2 3]}) #'user/m user=> (<< "The total for your order is $~(->> m :a (apply +)).") "The total for your order is $6."
Note that quotes surrounding string literals within ~() forms must be escaped.
Takes a single string argument and emits a str invocation that concatenates the string data and evaluated expressions contained within that argument. Evaluation is controlled using ~{} and ~() forms. The former is used for simple value replacement using clojure.core/str; the latter can be used to embed the results of arbitrary function invocation into the produced string. Examples: user=> (def v 30.5) #'user/v user=> (<< "This trial required ~{v}ml of solution.") "This trial required 30.5ml of solution." user=> (<< "There are ~(int v) days in November.") "There are 30 days in November." user=> (def m {:a [1 2 3]}) #'user/m user=> (<< "The total for your order is $~(->> m :a (apply +)).") "The total for your order is $6." Note that quotes surrounding string literals within ~() forms must be escaped.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close