和所有Lisp一样,Clojure内在的同构性使得你可以穷尽语言的特性,编写生成代码的子过程——“宏”。宏是一种按需调制语言的强大方式。

小心!可以用函数完成的事用宏去实现可不是什么好事。你应该仅在需要控制参数是否或者何时eval的时候使用宏。

你应该熟悉Clojure.确保你了解Y分钟学Clojure中的所有内容。

扩展阅读

Clojure for the Brave and True 系列的编写宏

官方文档

何时使用宏?