2013-01-04 66 views

回答

5

看起來你想要走過一個數據結構。

user=> (def s '((:a :b)((:c :d) :a) :a)) 
#'user/s 
user=> (use 'clojure.walk) 
nil 
user=> (prewalk #(if (= :a %1) :z %1) s) 
((:z :b) ((:c :d) :z) :z) 

編輯:或者,如果你確實只需要更換,更簡單

user=> (prewalk-replace '{a z} '((a b) ((c d) a))) 
((z b) ((c d) z)) 
相關問題