Странное поведение 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)))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д