Как я могу предотвратить переопределение функции clojure? - PullRequest
2 голосов
/ 19 апреля 2011

Я знаю, что могу использовать defonce для нормального определения, но как я могу предотвратить переопределение функции clojure?

Ответы [ 2 ]

7 голосов
/ 19 апреля 2011

Вы можете использовать defonce для этого, но вы должны иметь в виду какой-то особый вариант использования - есть причина, по которой в clojure.core не существует defn-единовременно

(defonce fn-sym (fn [ ... ] .... ))
1 голос
/ 19 апреля 2011

Я собирался написать то, что сказал Джуст, но он опередил меня, поэтому я пропущу эту часть.

Если вы действительно хотите defn-once, сделайте источник source defn и сделайтечто-то похожее, но поменяйте 'def где-нибудь ближе к концу с 'defonce.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...