4

我一直在用 clojure 开发游戏,而我一直非常兴奋的一件事是代码中的热交换。

我一直在使用带有lein-swank插件的 swank clojure 和 emacs。

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

(if (> (rand) .5) (println "yay") (println "boo"))

(我应该写0.5,不是.5。)

在那种情况下,整个程序只会崩溃和烧毁,我需要重新启动整个程序。热插拔很棒,但如果我连一个小错误都不能犯,那又有什么意义呢?

那么这里的工作流程到底是什么?我错过了什么吗?或者有没有办法让 swank clojure 对这些小错误更有弹性?(我想最好的办法就是重置到以前的工作状态,尽管这可能有点困难。)

谢谢!

4

2 回答 2

2

程序不应该“崩溃和烧毁”——它应该引发一个异常并将你扔到调试器中,你可以通过点击Q( sldb-quit) 将其关闭。关闭调试器后,程序应该继续正常运行。如果这不是发生的情况,那么您的 SLIME 配置可能会以某种方式损坏。

于 2012-05-06T08:29:19.497 回答
0

我个人推荐 CMx 而不是 Cc Cc。不过,我认为任何一个都不应该遇到您遇到的问题,因此切换可能无法解决它。

于 2012-05-05T23:11:57.003 回答