Как мне удалить функцию из реплик lein?

Во время леин-сессии REPL я могу определить ряд функций. Однако иногда я хотел бы, чтобы сеанс "забыл" их - например, когда я выполняю (run-all-tests), это выделяет сбои в тех тестах, которые мне больше не нужны. Есть ли способ удалить функции из сеанса или очистить его без перезапуска?

1 ответ

Решение

Использование ns-unmap как описано на странице пространств имен Clojure http://clojure.org/namespacesuser>

(defn foo [x] (inc x))                    
#'user/foo     
user> (foo 3)       
4                                                                                
user> (ns-unmap *ns* 'foo)     
nil
user> (foo 3)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: foo in this context, compiling:(NO_SOURCE_PATH:1:1) 
Другие вопросы по тегам