如何在不使用 :reload 的情况下重新评估 Clojure 中的 "def"?

3

我该如何在不使用:reload的情况下重新评估clojure中的“def”?

2个回答

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

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


1
请注意:如果您这样做,应该百分之百确定没有更好的方式。 - nickik
这是否意味着您需要再次“eval” def? - yazzapps.com
是的。如果您正在使用Slime,只需在源代码中更改def并使用C-x C-e进行评估即可。 - koddo

2
你也可以在REPL中调用load或load-file函数。
(load-file "foo/bar.clj")
(load "foo/bar")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接