4

我需要为 lisp 中的程序创建一个输出文件,但我无法通过 Dribble 正确记录我的输出。我正在使用 lispbox,当我尝试使用 dribble 时,我的缓冲区看起来像这样:

(dribble "output.txt")
"output.txt"
... Calls to functions I defined
... I've tried entering expressions, values, strings
(dribble)
NIL

但是当我转到 output.txt 时,我有一个 0 字节的空文件。我正在拔头发,因为我找不到答案,而且似乎我的电脑是问题所在。任何关于从哪里开始解决此问题(或解决方案)的想法将不胜感激。

4

1 回答 1

3

我敢打赌dribble,正在重新绑定一些与 SLIME 使用的流不同的流,以获取与 REPL 之间的输出。(问题DRIBBLE-TECHNIQUE可能值得一读。)

您的解决方案取决于您在做什么。如果您只想记录您与 Lisp 的交互,请记住 emacs 是一个文本编辑器,您可以将 REPL 缓冲区的内容保存到文件或复制摘录。

如果您想编写一个将输出保存到文件的程序,这dribble不是一个好的机制。看看 open, close, print, formatwith-open-file

于 2013-01-15T20:49:22.850 回答