代码之家  ›  专栏  ›  技术社区  ›  Rich Ashworth

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

  •  5
  • Rich Ashworth  · 技术社区  · 12 年前

    在lein-REPL会话期间,我可以定义一些函数。然而,有时我会希望会话“忘记”它们——例如,当我执行(运行所有测试)时,这会突出显示我不再需要的测试的失败。有没有一种方法可以在不重新启动的情况下从会话中删除函数或清除它?

    1 回复  |  直到 12 年前
        1
  •  7
  •   Arthur Ulfeldt    12 年前

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