4

我是计划的新手,但能够让它在 emacs 中运行。我喜欢在 emacs 的一个缓冲区中打开文件,并在另一个缓冲区中打开球拍解释器,这样我就可以在编写时进行测试等。问题是每次我想测试某些东西时,我都必须保存文件(没什么大不了的),然后使用(输入!“程序名”)在解释器中重新加载它。

反正每次我保存文件时都会自动重新加载吗?每次更改某些内容时都必须手动重新加载文件真的很乏味,特别是因为我仍在学习方案,所以我必须来回进行大量更改。非常感谢任何帮助,谢谢!

4

2 回答 2

3

最有用的选项可能是Geiser

除了其他出色的功能外,它还允许您通过击键编译当前文件,或仅评估当前的定义。我认为它有据可查,并且是您可以获得的最接近 SLIME for Scheme 的文件。

如果你可以不用 Emacs,DrRacket 也是一个很好的工作环境。

于 2013-02-11T23:30:53.153 回答
3

Geiser 和/或 Quack 是 Emacs 非常好的模式。使用 DrRacket 也是一个不错的选择。

但要更从字面上回答您的问题:

您可以添加以下内容.emacs并将其绑定到 F5 键,以获得 DrRacket 的运行命令的粗略近似:

(defun run-roughly-like-dr-racket ()
  (interactive)
  (let ((w (selected-window)))
    (set-buffer-modified-p t)           ;force save buffer so that enter! ...
    (save-buffer)                       ;...will re-evaluate

    (other-window -1)
    (run-scheme)
    (select-window w)

    (comint-send-string (get-buffer-process "*scheme*")
                        (format "(enter! \"%s\")\n" (buffer-file-name)))

    (pop-to-buffer (get-buffer-process "*scheme*") t)
    (select-window w)))
于 2013-02-12T16:05:23.550 回答