#clojure
#clojure
Вопрос:
Я знаю, что могу использовать defonce для обычного определения, но как я могу предотвратить переопределение функции clojure?
Ответ №1:
Вы можете использовать defonce для этого, но вы должны иметь в виду какой-то особый вариант использования — есть причина, по которой в clojure.core нет defn-once
(defonce fn-sym (fn [ ... ] .... ))
Ответ №2:
Я собирался написать, что сказал Джост, но он опередил меня, поэтому я опущу эту часть.
Если вы действительно хотите defn-once
, сделайте исходный код source defn
и сделайте что-то подобное, но замените 'def
где-нибудь ближе к концу на 'defonce
.