&引用;“热插拔”;使用swank clojure和崩溃恢复能力编写代码

&引用;“热插拔”;使用swank clojure和崩溃恢复能力编写代码,clojure,swank,swank-clojure,Clojure,Swank,Swank Clojure,我一直在用clojure开发游戏,有一件事我很兴奋,那就是代码的热交换 我一直在使用swank clojure和emacs的lein swank插件 我的主要问题是打字错误。假设我更新了一个函数,犯了一个小错误,然后按Ctrl-C Ctrl-C将其发送给REPL: (if(>(rand.5)(println“yay”)(println“boo”)) (我应该写0.5,而不是.5) 在这种情况下,整个程序将崩溃并烧毁,我需要重新启动整个程序。热交换很好,但如果我连一个小错误都做不到,那又有什么意义

我一直在用clojure开发游戏,有一件事我很兴奋,那就是代码的热交换

我一直在使用swank clojure和emacs的
lein swank
插件

我的主要问题是打字错误。假设我更新了一个函数,犯了一个小错误,然后按Ctrl-C Ctrl-C将其发送给REPL:

(if(>(rand.5)(println“yay”)(println“boo”))

(我应该写
0.5
,而不是
.5

在这种情况下,整个程序将崩溃并烧毁,我需要重新启动整个程序。热交换很好,但如果我连一个小错误都做不到,那又有什么意义呢

那么这里的工作流程到底是什么呢?我错过什么了吗?或者有没有办法让斯旺克·克洛尤尔更能适应这些小错误?(我想最好的办法就是重置到以前的工作状态,尽管这可能有点困难。)


谢谢

我个人推荐C-M-x胜过C-C-C。不过,我认为这两个程序都不应该有您遇到的问题,因此切换可能无法解决问题。

程序不应该“崩溃和烧坏”-它应该引发异常并将您扔进调试器,您可以通过点击
Q
sldb quit
)来排除调试器。关闭调试器后,程序应继续正常运行。如果不是这样,您的黏液配置可能会以某种方式被破坏。

真的吗?当您意外地使用C-M-x访问nil或其他属性的代码时会发生什么情况?这是否意味着我的设置被搞砸了?*耸耸肩*Slime打开了一个带有stacktrace的窗口。如果有什么有趣的事情,我会仔细看一遍,然后按Q键将其忽略,然后继续工作。