在lein-REPL会话期间,我可以定义一些函数。然而,有时我会希望会话“忘记”它们——例如,当我执行(运行所有测试)时,这会突出显示我不再需要的测试的失败。有没有一种方法可以在不重新启动的情况下从会话中删除函数或清除它?
使用 ns-unmap 如Clojure名称空间页面上所述 http://clojure.org/namespacesuser >
ns-unmap
(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)