как взять два входа одновременно в лисп? - PullRequest
4 голосов
/ 12 мая 2011

Я хочу добавить два числа, которые должны быть введены пользователем в Лиспе.Как я могу это сделать?Я дважды использовал команду read, но она показывает ошибку.

1 Ответ

4 голосов
/ 12 мая 2011

Я рекомендую проанализировать числа из пользовательского ввода с библиотекой parse-number.Использование read вместо этого дает пользователю прямой доступ к читателю Lisp, который вам не нужен.

Примерно так должно работать:

(defun prompt-number (prompt &optional (prompt-stream *standard-output*)
                                       (read-stream *standard-input*))
  (format prompt-stream "~a: " prompt)
  (parse-number:parse-number (read-line read-stream)))
...