clojure - 如何从 lein repl 中删除函数?

标签 clojure leiningen vimclojure

在 lein REPL session 期间,我可能会定义许多函数。但是,有时我希望 session “忘记”它们 - 例如,当我执行 (run-all-tests) 时,这会突出显示我不再需要的测试中的失败。有没有办法在不重新启动的情况下从 session 中删除功能或清理它?

最佳答案

使用 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) 

关于clojure - 如何从 lein repl 中删除函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626771/

相关文章:

regex - 什么是验证字符串只有字母数字和连字符的惯用 clojure?

Clojure:如何在 project.clj 中设置 :repositories

clojure - 项目级 Leiningen 插件

clojure - 定义简化的 arity 偏函数

Clojure 盒 : Problem with classpath (noob question)

clojure - 在 Clojure 的 Ring Web 应用程序中生成并传输 zip 文件

vim - 如何同时使用vimclojure和SLIMV?

testing - 是否有一个命令可以从 clojure.test 和 Speclj 运行测试?

vim - 使用 SLIMV 编写 Lisp 代码,如何在不禁用 paredit.vim 的情况下插入单个“?

clojure - VimClojure 安装教程