그래서 ID는 숫자 목록을 받아 원자화 (중첩 된 정수를 제거하기 위해) 한 다음 최대 값을 찾습니다. 나는 이것을 개별적으로 수행하는 두 개의 함수를 작성했지만 LISP에서 이들을 결합하는 방법을 알아낼 수 없으므로 한 번의 호출로 둘 다 실행할 수 있습니다. 어떤 도움을 주시면 감사하겠습니다.LISP에서 두 함수를 결합하여 목록을 원자화 한 다음 최대 값을 찾으십니까?
:Atomize function to remove nests
:(atomify ‘(a (b c) (e (f (g h) i)) j)->(a b c e f g h i j)
(defun atomify (numbers)
(cond ((null numbers) nil)
((atom (car numbers))
(cons (car numbers)
(atomify (cdr numbers))))
(t
(append (atomify (car numbers))
(atomify (cdr numbers))))))
:Max value of a list of integers function
(defun large_atom (numbers)
(if (null numbers)
0
(max (first numbers)
(large_atom (rest numbers)))))
나는 것 들여 쓰기와 더 나은 서식 지정을 통해 코드를 사람이 읽을 수있게 만들 것을 제안합니다. –
함수가 이미 다른 함수를 결합합니다. 왜 atomify 및 large_atom에도 해당하지 않아야합니까? –
형식에 대한 사과, lisp 형식 지정에 대한 올바른 방법 찾기 –