나는 최근에 더 많은 Lisp 코드를 작성 해왔다. 특히 재귀 함수는 일부 데이터를 가져와 결과 데이터 구조를 만듭니다. 때로는 사용자가 제공 한 데이터 외에 함수의 다음 호출에 2 ~ 3 개의 정보를 전달해야하는 경우가 있습니다. 이러한 누적기를 호출 할 수 있습니다.함수에 누산기와 같은 매개 변수를 포함하는 최상의 방법은 무엇입니까?
이러한 코드를 내 코드로 구성하는 가장 좋은 방법은 무엇입니까?
(defun foo (user1 user2 &optional acc1 acc2 acc3)
;; do something
(foo user1 user2 (cons x acc1) (cons y acc2) (cons z acc3)))
이 내가하고 싶은대로 작동하지만, 난 정말 프로그래머에 & 선택적 매개 변수를 제시 할 필요가 없기 때문에 나는 걱정 :
현재, 나는 같은 것을 할 . 내가 어느 정도 고려하고
3 방법 :
는 사용자가 그 즉시 확장 definiton를 호출하여 사용하는 것이 좋습니다되는 래퍼 함수가 있습니다.
labels
은 내부적으로 서명이 간결한 함수 내에서 사용됩니다.그냥 루프와 변수를 사용하기 시작하십시오. 그러나, 나는 재귀 주위에 내 머리를 감싸고 싶다.
감사합니다!
감사.나는 나무를 다루는 몇 가지 기능을 가지고 있었기 때문에 나는 그들을 '레이블'을 사용하도록 개조했다. 목록에서만 작동하는 또 다른 기능 세트이기 때문에 나는 그 기회를 사용하여'loop'에 익숙해졌습니다. –