我一直在忙着开发一个clojure游戏,而我真正兴奋的一件事就是热插拔代码。
我一直在使用lein-swank
插件使用swank clojure和emacs。
我的主要问题是拼写错误。假设我更新了一个函数,发出一个小错误,然后按Ctrl-C Ctrl-C将其发送到REPL:
(if (> (rand) .5) (println "yay") (println "boo"))
(我应该写0.5
,而不是.5
。)
在这种情况下,整个程序将简单地崩溃和刻录,我需要重新启动整个程序。热插拔很棒,但如果我不能做出一个小错误,那么重点是什么?
那么这里的工作流程究竟是什么?我错过了什么吗?或者有没有办法让swank clojure对这些小错误更有弹性? (我想最好的事情只是重置为以前的工作状态,虽然这可能有点困难。)
谢谢!
答案 0 :(得分:2)
程序不应该“崩溃和刻录” - 它应该引发异常并引导您进入调试器,您可以通过点击Q
(sldb-quit
)来解除调试。在解除调试器后,程序应该继续正常运行。如果不是这样,你的SLIME配置可能会以某种方式被破坏。
答案 1 :(得分:0)
我个人推荐C-M-x而不是C-c C-c。我不认为任何一方应该遇到你遇到的问题,所以转换可能无法解决问题。