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

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

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

最佳答案

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

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

如果你想编写一个将输出保存到文件的程序,dribble 不是一个很好的机制。看一下
open ,
close ,
print ,
format ,

with-open-file

关于lisp - Dribble 正在生成空的输出文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12591432/

10-11 04:35