我知道我可以使用defonce进行正常的def,但是如何防止clojure函数重新定义呢?
答案 0 :(得分:7)
你可以使用defonce做到这一点,但你必须考虑到一些特殊的用例 - 有一个原因在clojure.core中没有defn-once
(defonce fn-sym (fn [ ... ] .... ))
答案 1 :(得分:1)
我正准备写Joost所说的话,但他打败了我,所以我会遗漏那部分。
如果您真的需要defn-once
,请执行来源source defn
并执行类似的操作,但使用'def
将'defonce
交换到靠近末尾的位置。