为什么 dribble 生成一个空文件?
Why is dribble producing an empty file?
我正在尝试通过 Common Lisp:对符号计算的简单介绍 来学习 Common Lisp。此外,我正在使用 SBCL、Emacs 和 Slime。
在第 9 章末尾,作者展示了 运球 工具。
他展示了以下内容:
我试图重现作者提供的命令。考虑到输入,唯一的区别是我将文件保存在不同的位置。在我的环境中,我做了:
CL-USER> (dribble "/home/pedro/miscellaneous/misc/symbolic-computation/teste-tool.log")
; No value
CL-USER> (cons 2 nil)
(2)
CL-USER> '(is driblle really working?)
(IS DRIBLLE REALLY WORKING?)
CL-USER> "is dribble useful at all?"
"is dribble useful at all?"
CL-USER> (dribble)
; No value
确实创建了文件:
$ readlink -f teste-tool.log
/home/pedro/miscellaneous/misc/symbolic-computation/teste-tool.log
请注意,我在打字时没有在 REPL 中收到诸如“正在记录文件 --location---”之类的消息。但这可能会因 Lisp 实现而异。
令人大吃一惊的是,不幸的是,该文件是空的。因此,运球没有达到预期效果。
我是不是做错了什么?
是的,默认情况下,在 Slime 中我认为这不起作用。
它将在 SBCL Repl 中工作:
➜ sbcl
This is SBCL 2.0.1.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (dribble "dribble-test.lisp")
* (* 8 5)
40
* "Will this work?"
"Will this work?"
* (dribble)
* %
可以确认的是:
➜ cat dribble-test.lisp
* (* 8 5)
40
* "Will this work?"
"Will this work?"
* (dribble)
保存“REPL 历史记录”似乎对 Slime IMO 没那么有用,因为你所做的所有“非 REPL 评估”,例如选择函数或表达式或区域并在 REPL 中对其进行评估。
要实际 在 Slime 中保存和查看历史记录,请参阅 slime-repl-save-history
和相关功能;如果您愿意,您甚至可以 合并来自独立回复的历史记录 :-)
我正在尝试通过 Common Lisp:对符号计算的简单介绍 来学习 Common Lisp。此外,我正在使用 SBCL、Emacs 和 Slime。
在第 9 章末尾,作者展示了 运球 工具。 他展示了以下内容:
我试图重现作者提供的命令。考虑到输入,唯一的区别是我将文件保存在不同的位置。在我的环境中,我做了:
CL-USER> (dribble "/home/pedro/miscellaneous/misc/symbolic-computation/teste-tool.log")
; No value
CL-USER> (cons 2 nil)
(2)
CL-USER> '(is driblle really working?)
(IS DRIBLLE REALLY WORKING?)
CL-USER> "is dribble useful at all?"
"is dribble useful at all?"
CL-USER> (dribble)
; No value
确实创建了文件:
$ readlink -f teste-tool.log
/home/pedro/miscellaneous/misc/symbolic-computation/teste-tool.log
请注意,我在打字时没有在 REPL 中收到诸如“正在记录文件 --location---”之类的消息。但这可能会因 Lisp 实现而异。
令人大吃一惊的是,不幸的是,该文件是空的。因此,运球没有达到预期效果。
我是不是做错了什么?
是的,默认情况下,在 Slime 中我认为这不起作用。
它将在 SBCL Repl 中工作:
➜ sbcl
This is SBCL 2.0.1.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (dribble "dribble-test.lisp")
* (* 8 5)
40
* "Will this work?"
"Will this work?"
* (dribble)
* %
可以确认的是:
➜ cat dribble-test.lisp
* (* 8 5)
40
* "Will this work?"
"Will this work?"
* (dribble)
保存“REPL 历史记录”似乎对 Slime IMO 没那么有用,因为你所做的所有“非 REPL 评估”,例如选择函数或表达式或区域并在 REPL 中对其进行评估。
要实际 在 Slime 中保存和查看历史记录,请参阅
slime-repl-save-history
和相关功能;如果您愿意,您甚至可以 合并来自独立回复的历史记录 :-)