写一个替换宏的参数

Geo*_*rge 0 clojure clojurescript

假设我们有一个_在任意位置的列表.例如:(a b c _ e f).我试图写一个宏其中,对于这样一个列表,找到_并用另一个值(比方说,替换它z)(a b c z e f).

对此最好的方法是什么?

Jos*_*osh 6

你确定需要一个宏吗?只要引用列表,使用replace应该可以正常工作:

(replace '{_ z} '(a b c _ e f)) ; =>  (a b c z e f)
Run Code Online (Sandbox Code Playgroud)