我有一個宏,需要一個身體:如何將可選的關鍵字參數與其餘的東西混合?
(defmacro blah [& body] (dostuffwithbody))
但我想一個可選關鍵字參數添加到它一樣,所以當把它稱爲可能看起來像以下任一:
(blah :specialthingy 0 body morebody lotsofbody)
(blah body morebody lotsofboy)
我該怎麼做?請注意,我使用的是Clojure 1.2,所以我也使用新的可選關鍵字參數destructuring stuff。我天真地試圖做到這一點:
(defmacro blah [& {specialthingy :specialthingy} & body])
但顯然這並沒有奏效。我怎樣才能做到這一點或類似的東西?