나는 exercise 3.13 from SICP을하고있다. 그러나 나는 나의 대답을 확신 할 수 없다.SICP 운동 3.13 - make-cycle
나는운동 3.13 : 운동 3.12에 정의 된 마지막 쌍의 절차를 사용하는 다음 메이크업 사이클 절차, 고려하십시오!
(정의 (X-사이클 만들기) (설정 CDR을 (last- 쌍 x)는 x)는 X)
는
(Z 정의 (확인 사이클 (리스트 'A', B '에 의해 생성 된 구조 Z를 나타내는 박스 및 포인터도를 그린다 c)))
우리가 (마지막 쌍 z)를 계산하려고합니까?
(last-pair z)
무한 루프가됩니다 이유를 이해하기 위해 노력하고있어. 우리가 set-cdr!
을 수행 할 때
(set-cdr! (last-pair x) x)
(last-pair x)
쌍 (cons 'c '())
것, 다음 쌍 될 것입니다 :
(cons 'c (cons 'a (cons 'b (cons 'c (cons 'a (cons 'b (cons 'c (cons 'a (cons 'b (cons 'c ...))))))))))
내 이해입니다 박스와 포인터 다이어그램을 무시하고, 여기에 내가 그것을 이해하는 방법이다 옳은?