Странное поведение SBCL - Lisp

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Странное поведение SBCL»

textual
Листинг программы
  1. (defun test ()
  2.   (let* ((dummy (format t "Enter a "))
  3.           (a (read))
  4.           (dummy (format t "Enter b "))
  5.           (b (read)))
  6.        (format  t "~A ~A" a  b)))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут