【发布时间】:2012-03-05 19:16:57
【问题描述】:
我正在阅读 Paul Graham 的 ANSI Common Lisp 一书,下面是这个例子:
(defun ask-number ()
(format t "Please enter a number. ")
(let ((val (read)))
(if (numberp val)
val
(ask-number))))
它的行为应该是这样的:
$(问号)
请输入一个数字。 一个
请输入一个数字。 (哼哼)
请输入一个数字。 52
52
但是当我尝试它(SBCL 1.0.55)时,它不会打印 format 字符串,直到成功 read:
$(问号)
一个
(哼哼)
52
请输入一个数字。请输入一个数字。请输入一个数字。
52
哪里出错了?如何让它按照预期的方式运行?
【问题讨论】:
标签: format lisp common-lisp bufferedoutputstream