실용 커먼 리스프를 읽고 있는데, 나는 REPL에서 클로저 (6 장)를 가지고 놀고있다. 나는 폐쇄의 목록을 만드는 생각에 다음 코드를 시도했다, 그러나 나는 동시에 REPL에서 그들 모두를 호출하는 방법을 알아낼 수 없습니다 : 나는 this question에 대한 답변을 읽고 시도했습니다Lisp의 함수 목록에서 함수를 어떻게 호출합니까?
(defparameter *fn*
(let ((count 10))
(list
#'(lambda() (incf count))
#'(lambda() (decf count))
#'(lambda() count))))
몇 가지와 다른 몇 가지,하지만 아무것도 작동하는 것 같습니다. 내가 시도한 것은 -
CL-USER> (apply #'funcall *fn*)
; Evaluation aborted on #<CCL::TOO-MANY-ARGUMENTS #x2100B8890D>.
CL-USER> (funcall *fn*)
; Evaluation aborted on #<TYPE-ERROR #x2100B5667D>.
CL-USER> (loop for function in *fn*
(collect (funcall function)))
; Evaluation aborted on #<CCL::SIMPLE-PROGRAM-ERROR #x2100C21D4D>.
CL-USER> (map #'funcall *fn*)
; Evaluation aborted on #<CCL::TOO-FEW-ARGUMENTS #x2100B7320D>.
내가 찾고있는 것은 인쇄 할 내용 (11 9 10)입니다.
도움 주셔서 감사합니다.
감사합니다. 매우 도움이되었습니다. – lightlike