Объяснение необходимо в CLISP - PullRequest
0 голосов
/ 15 мая 2018

Может кто-нибудь объяснить часть с оператором flet, пожалуйста? :

(defun read-3-numbers-&-format-sum ()
  (flet ((prompt (string)
           (format t "~&~a: " string)
           (read nil 'eof nil)))
    (let ((x (prompt "first number"))
          (y (prompt "second number"))
          (z (prompt "third number")))
      (format t "~&the sum of ~a, ~a, & ~a is:~%~%~a~%"
              x y z (+ x y z)))))

1 Ответ

0 голосов
/ 15 мая 2018

Источником документации Common Lisp является Hyperpec Common Lisp, который можно найти в разных местах в Интернете.

Найдите здесь flet: http://clhs.lisp.se/Body/s_flet_.htm#flet

Он устанавливаетопределение локальной функции.Его область действия - его тело (то есть где форма let в этом случае).Определение функции работает как «нормальная» функция, определенная с помощью defun в противном случае.

...