2008-10-29 2 views
6

를 수행 그는이 예제를 제공합니다리스프는 피터 세이 벨의 <em>실용 커먼 리스프</em>에서 변수 구문 추론

(do ((nums nil) (i 1 (1+ i))) 
    ((> i 10) (nreverse nums)) 
    (push i nums)) 

는 루프 내에서 nums를 사용하지만, 그것을 단계 형식을 제공하지, 어떻게 작동하는지 내가 볼 수 있습니다. 왜 가변 정의에 nums을 넣어보다는 이런 짓을 했을까 :

(let (nums) (do ((i 1 (+ i 1))) 
     ((> i 10) (nreverse nums)) 
     (push i nums))) 

를 내가 좋은 이유가있을거야,하지만 난 아직하지 않습니다.

답변

12

들여 쓰기가 편리하고 저장하기 때문에. 게다가 누산기는 개념적으로 루프에 속해 있습니다.