我有一个宏,需要一个身体:如何将可选的关键字参数与其余的东西混合?
(defmacro blah [& body] (dostuffwithbody))
但我想一个可选关键字参数添加到它一样,所以当把它称为可能看起来像以下任一:
(blah :specialthingy 0 body morebody lotsofbody)
(blah body morebody lotsofboy)
我该怎么做?请注意,我使用的是Clojure 1.2,所以我也使用新的可选关键字参数destructuring stuff。我天真地试图做到这一点:
(defmacro blah [& {specialthingy :specialthingy} & body])
但显然这并没有奏效。我怎样才能做到这一点或类似的东西?