我怎样才能得到clojure;def";要重新评估而不使用:重新加载?

我怎样才能得到clojure;def";要重新评估而不使用:重新加载?,clojure,Clojure,如何让clojure“def”在不使用:reload的情况下重新计算 (def x 0) x ; => 0 (def x 1) x ; => 1 您不能从另一个名称空间重新定义var,因此在重新定义之前,您应该切换到它的名称空间,使用in-ns。您也可以在repl调用load或load file (load-file "foo/bar.clj") (load "foo/bar") 注意:如果您这样做,您应该100%确定没有更好的方法。这是否意味着您将不得不再次“评估”de

如何让clojure“def”在不使用:reload的情况下重新计算

(def x 0)
x   ; => 0
(def x 1)
x   ; => 1

您不能从另一个名称空间重新定义var,因此在重新定义之前,您应该切换到它的名称空间,使用in-ns。

您也可以在repl调用load或load file

(load-file "foo/bar.clj")
(load "foo/bar")

注意:如果您这样做,您应该100%确定没有更好的方法。这是否意味着您将不得不再次“评估”def?是的。如果您使用slime,只需更改源代码中的def,并使用C-xc-e对其进行评估。