0
전무 멤버 함수 반환한다. 지금까지 내가 말할 수있는 - - true를 돌려 내가 (eq '() (member x *DSTATES*))
을 수행 할 때은 왜 목록이
(map '() #'(lambda (x)
(princ "Looking at transition ") (princ x)
(prinC#\newline)
(if (and (eq '() (member x *DSTATES*)) (not (eq '() x)))
(progn
(princ x) (princ " is not a member of *DSTATES*")
(prinC#\newline)
(setq *DSTATES* (append *DSTATES* (list x)))))
(princ "Intermediate *DSTATES* ") (princ *DSTATES*)
(prinC#\newline) (prinC#\newline))
trans)
은 항상 :
여기 내 코드입니다. 이 때문에 *DSTATES*
크기가 커지고 커지면 내 루프는 *DSTATES*
크기의 정지 조건을 종료하지 않습니다.
어떻게 해결할 수 있습니까?
스타일의 문제 일을하는 데 도움이
희망 : 목록의 끝에 추가하지 않습니다. –
스타일 문제 2 :'(eq '() foo)'는 (null foo)'입니다. 부울 값이면'(not foo)'를 사용하십시오. –
그런 조언을 해주셔서 감사합니다. 목록 끝에 추가하는 것이 잘못된 이유는 무엇입니까? – myselfesteem