2
是否有任何(合理)的方式來編寫這個宏作爲一個函數?Clojure:如何將剩餘參數「&args」發送到列表中?
(defmacro assocTop
[v & args]
`(push (pop ~v)
(assoc (peek ~v) [email protected])))
給定地圖和一些關聯的矢量,宏代碼將關聯應用於頂部/窺視地圖。
但是,當試圖將其作爲函數編寫時,我無法弄清楚如何以合法的方式擴展[email protected]
。在正常的功能中,是否有辦法將args
,我認爲它的形式(:a 3 :bb 44 :cd 90,...)
到:a 3 :bb 44 :cd 90,...
,即。沒有父母?
爲什麼'reduce'不在這裏工作了,但有工作的,比方說,'(DEFN推 [V&參數](減少連詞v參數))'? – spacingissue
@spacingissue,在這種情況下,我不明白你想如何使用'reduce'。你能詳細說明嗎? – Jan
我想我在考慮在答案上重複應用assoc會和reduce一樣。對「推」情況有何區別(您對答案重複應用連詞)? – spacingissue