让我把z定义为真:
(def z true)
我有一个表达式
(print exp)
给出
(and x (not x))
如何将exp中的所有x替换为我设置的z,这样打印exp会给出
(and true (not true))
答案 0 :(得分:0)
您可以使用clojure.walk
API来完成此操作。
body { word-break: break-all }
示例:
(defn replace-sym
[sym val expr]
(clojure.walk/postwalk (fn [e] (if (= e sym) val e)) expr))