2
我在做exercise 3.13 from SICP但我不确定我的答案。SICP练习3.13 - 制造循环
练习3.13:考虑下列使循环过程,它使用 在练习3.12所定义的最后一对程序:
(定义(使循环x)的(设定CDR(最后所对x)x)的x)的
绘制的箱和指针图,其示出了由
(定义Z(使循环(列表 'A' b“创建的结构z对于C)))
如果我们发生什么事尝试计算(最后一对z)?
我试图理解为什么
(last-pair z)
成为无限循环。忽略盒和指针图,这里是我的理解是:
(set-cdr! (last-pair x) x)
(last-pair x)
将是对(cons 'c '())
,那么当我们做set-cdr!
一对将成为:
(cons 'c (cons 'a (cons 'b (cons 'c (cons 'a (cons 'b (cons 'c (cons 'a (cons 'b (cons 'c ...))))))))))
我的理解正确?