4

我正在尝试通过阅读Practical Common Lisp来学习 Lisp ,但在尝试阅读用户输入时,我很早就遇到了一个小绊脚石。我已经定义了提示阅读来提示用户输入:

(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

当我尝试评估提示阅读时,按 [Enter] 运行该语句似乎被接受为输入,因此结果输入为空白

>(prompt-read "Test")
Test: 
""
NIL

我完全按照这个例子,所以我假设这与我的环境有某种关系。我在 Windows 中使用 Emacs Inferior Lisp,是否需要对我的代码进行一些调整才能获得我期望的行为?

4

1 回答 1

3

您的代码似乎没有任何问题,并且它也可以在 MS Windows 上正确运行,例如 SBCL。您为什么不尝试使用 SLIME 在 Emacs 中编辑和运行您的 CL 代码,而不是劣质的 lisp 模式(这确实是劣质的)?您可以按照以下指南快速安装它:

于 2012-04-25T12:24:25.747 回答