기능 목록에서 선택하고 싶습니다. 그리고 선택한 함수를 인수에 적용합니다.
(defvar fn '(#'(lambda (x) (* x x)) #'(lambda (x) (+ x x))))
(apply (nth 1 fn) '(5))
위의 코드가 작동하지 않습니다. 무엇이 잘못 되었습니까?
fn
기능 목록이 아닙니다. 목록을 인용했기 때문에 어떤 함수 표현식도 평가되지 않습니다. 따라서 양식의 목록이 (FUNCTION (LAMBDA (X) ...))
있습니다.
list
목록을 만들고 모든 인수를 평가하는 데 사용 합니다.
(defvar fn (list #'(lambda (x) (* x x)) #'(lambda (x) (+ x x))))
또는 역 따옴표와 쉼표를 사용하십시오.
(defvar fn `(,#'(lambda (x) (* x x)) ,#'(lambda (x) (+ x x))))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다