lisp - Dribble 正在生成空的输出文件

标签 lisp common-lisp clisp

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

(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 输出和从 REPL 输出的流不同。 (问题 DRIBBLE-TECHNIQUE 可能值得一读。)

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

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

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

相关文章:

lisp - 如何从流中读取以空格分隔的单词?

clojure - 编辑程序 "while they are running"?为什么?

lisp - 为什么Common Lisp中不存在原始的 `call-with-current-continuations`

lisp - 使用 Lisp 检查循环中的偶数和奇数

lisp - 评估/应用 : too many arguments given to F

lisp - 关闭普通 lisp 中的结果打印

functional-programming - 使用标准映射函数处理列表中的成对连续元素?

http - 在 Racket 中发送 HTTP POST

apache - 如何使用 sbcl+restas+apache 运行网络应用程序?

common-lisp - 如何在 Common Lisp 中将十进制数转换为八进制数字列表?