О вводе строки, и выводе её модификации - Lisp
Формулировка задачи:
Мне просто нужен код делающий следующее:
При начале работы выводится приглашение (например
Vvedite slovo:
) Я ввожуSlenon
, нажимаю Enter - выводитсяPrivet, Slenon!
(Common LISP)Решение задачи: «О вводе строки, и выводе её модификации»
textual
Листинг программы
(defun greeting (name) (format nil "Привет, ~A!~%" (cond ((null name) "чувак") ((zerop (length reply)) "никто") (t reply)))) (defun hello () (format *query-io* "~&Как вас зовут?~%") (finish-output *query-io*) (let ((reply (read-line *query-io*))) (write-line (greeting reply) *query-io*)) (finish-output *query-io*))
Объяснение кода листинга программы
В коде определены две функции: greeting и hello.
- Функция greeting принимает один аргумент name и использует форматную строку для вывода сообщения, в которое подставляется значение name. Если name не указано, выводится слово «чувак». Если длина ответа равна нулю, выводится слово «никто». В противном случае выводится ответ.
- Функция hello сначала выводит вопрос «Как вас зовут?», затем считывает ответ, используя функцию read-line. Далее вызывается функция greeting с этим ответом, и её результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д