Странное поведение SBCL - Lisp
Формулировка задачи:
Заметил странность. Допустим есть код
При выполнении в среде slime+emacs получаю ожидаемый вывод:
CL-USER> (test)
Enter a Вася
Enter b Петя
ВАСЯ ПЕТЯ
NIL
Тот же код при вызове sbcl из консоли ведёт себя не так. Приглашение к вводу не появляется, вместо этого sbcl сначала ждёт ввода переменных, а потом выводит текст. Т.е. получается следующее:
* (test)
Вася
Петя
Enter a Enter b ВАСЯ ПЕТЯ
NIL
Это косяк SBCL или я чего то не понимаю?
ЗЫ ОС -- ubuntu если вдруг это важно.
(defun test () (format t "Enter a ") (let ((a (read))) (format t "Enter b ") (let ((b (read))) (format t "~A ~A" a b))))
Решение задачи: «Странное поведение SBCL»
textual
Листинг программы
(defun test () (let* ((dummy (format t "Enter a ")) (a (read)) (dummy (format t "Enter b ")) (b (read))) (format t "~A ~A" a b)))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д