W3cubDocs

/Clojure 1.8

clojure.template

by Stuart Sierra

Full namespace name: clojure.template

Overview

Macros that expand to repeated copies of a template expression.

Public Variables and Functions

apply-templatefunction

Usage: (apply-template argv expr values)
For use in macros.  argv is an argument list, as in defn.  expr is
a quoted expression using the symbols in argv.  values is a sequence
of values to be used for the arguments.

apply-template will recursively replace argument symbols in expr
with their corresponding values, returning a modified expr.

Example: (apply-template '[x] '(+ x x) '[2])
         ;=> (+ 2 2)
Source

do-templatemacro

Usage: (do-template argv expr & values)
Repeatedly copies expr (in a do block) for each group of arguments
in values.  values are automatically partitioned by the number of
arguments in argv, an argument vector as in defn.

Example: (macroexpand '(do-template [x y] (+ y x) 2 4 3 5))
         ;=> (do (+ 4 2) (+ 5 3))
Source

© Rich Hickey
Licensed under the Eclipse Public License 1.0.
https://clojure.github.io/clojure/clojure.template-api.html