【发布时间】:2012-10-20 08:20:35
【问题描述】:
是否有任何(合理的)方法可以将此宏编写为函数?
(defmacro assocTop
[v & args]
`(push (pop ~v)
(assoc (peek ~v) ~@args)))
给定一个地图向量和一些关联,宏代码将关联应用于顶部/窥视地图。
但是,当尝试将其编写为函数时,我无法弄清楚如何以合法的方式扩展 ~@args。在正常功能中,有没有办法将args 转换为(:a 3 :bb 44 :cd 90,...) 的形式:a 3 :bb 44 :cd 90,...,即没有括号?
【问题讨论】:
标签: function clojure macros expand args