我是Clojure的新手.我几个月前开始.我正在努力学习宏.
我最初对Clojure中宏和高阶函数之间的区别感到困惑,因为高阶函数可以接受lambdas并根据任何条件和过滤执行其中一个所需的次数.
所以我在StackOverflow本身上发布了一个关于此问题的简单示例.我从答案中得到了怀疑.
这就是我的理解,
所以我的问题是,它与C中使用的预处理程序指令和宏有什么不同?Lisp/Clojure宏给开发人员带来了什么样的能力,C宏完全缺乏并且经常被广泛使用.
mik*_*era 12
一些值得注意的差异:
eval)可以说,宏仍然是Lisps的显着"杀手特征".关于这个主题的一点额外解释,值得一读保罗格雷厄姆的文章" 是什么使得Lisp不同 "