如何防止clojure功能重新定义?

时间:2011-04-19 15:10:22

标签: clojure

我知道我可以使用defonce进行正常的def,但是如何防止clojure函数重新定义呢?

2 个答案:

答案 0 :(得分:7)

你可以使用defonce做到这一点,但你必须考虑到一些特殊的用例 - 有一个原因在clojure.core中没有defn-once

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

答案 1 :(得分:1)

我正准备写Joost所说的话,但他打败了我,所以我会遗漏那部分。

如果您真的需要defn-once,请执行来源source defn并执行类似的操作,但使用'def'defonce交换到靠近末尾的位置。