Команда чтения lisp работает неправильно для sbcl

Я добавил этот пример функции чтения из (Land of Lisp) в мой репозиторий sbcl, и он не отображает приглашение "Пожалуйста, введите ваше имя", пока я не введу ответ. тогда это показывает ответ. Я знаю, что это неправильно, что дает?

(defun say-hello ()
    (princ "Please type your name:") (let ((name (read-line)))
             (princ "Nice to meet you, ")
             (princ name)))

Я попробовал другой пример функции записи и попытался написать вместо принца. Неудачно

вот вырезка и вставка из моего репла:

* (defun say-hello ()
(princ "Please type your name:") (let ((name (read-line)))
         (princ "Nice to meet you, ")
         (princ name)))
WARNING: redefining COMMON-LISP-USER::SAY-HELLO in DEFUN

SAY-HELLO
* (say-hello)
gregg
Please type your name:Nice to meet you, gregg
"gregg"

1 ответ

Вам следует позвонить finish-output после первого princ, чтобы убедиться, что вывод был действительно сброшен.

Другие вопросы по тегам