【发布时间】:2016-05-19 18:25:02
【问题描述】:
是否可以在 Clojure 中覆盖函数应用程序的行为?
例如,我想创建一个命名空间,其中:
(+ 2 2)
通过如下宏计算常量5:
(defmacro app [& args] 5)
【问题讨论】:
-
您没有指定宏
app和表单(+ 2 2)之间的关系。请明确说明您要做什么。 -
我希望宏
app改变命名空间中每个函数应用程序的行为。包括(+ 2 2)以及(+ 1 2 3)和(f x)用于任何功能f。
标签: clojure macros metaprogramming