如何防止clojure函数重新定义?

如何防止clojure函数重新定义?,clojure,Clojure,我知道我可以将defonce用于普通def,但如何防止clojure函数重新定义?您可以使用defonce来实现这一点,但您必须记住一些特殊的用例-clojure.core中没有defn one是有原因的 (defonce fn-sym (fn [ ... ] .... )) 我正要写约斯特说的话,但他抢先写了,所以我就不写了 如果您确实想要一次defn,请执行一次sourcesource defn并执行类似操作,但在靠近末尾的某个地方用'defon交换'def

我知道我可以将defonce用于普通def,但如何防止clojure函数重新定义?

您可以使用defonce来实现这一点,但您必须记住一些特殊的用例-clojure.core中没有defn one是有原因的

(defonce fn-sym (fn [ ... ] .... ))

我正要写约斯特说的话,但他抢先写了,所以我就不写了

如果您确实想要一次
defn
,请执行一次source
source defn
并执行类似操作,但在靠近末尾的某个地方用
'defon
交换
'def