API for strint
(master branch)
by Chas Emerick
Usage:
(ns your-namespace
(:require clojure.contrib.strint))
Overview
String interpolation for Clojure.
Public Variables and Functions
<<
macro
Usage: (<< 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.
Source