计算机程序的结构和解释(SICP)的图3.16和3.17中的方框图和指针图看起来并不相同(纯粹是关于价值,而不是记忆),尽管它们是这样的.("当被认为是一个列表,z1并且z2都代表"相同"列表时,((a b) a b))",第258页)
(define x (list 'a 'b))
(define z1 (cons x x))
(define z2 (cons (list 'a 'b) (list 'a 'b)))
Run Code Online (Sandbox Code Playgroud)
SICP像这样绘制对z1:
和z2像这样:
这对中的箭头z1似乎都没有指向整个对,x.他们甚至没有指出相同的事情,尽管两者都收到了相同的(记忆和价值)对.我会将第一个图表评估为(a b),而第二个图表评估为((a b) a b)
我猜可能每个箭头实际上指向整个对x,但是在第98页的图2.3中:
通过指向侧面或两个项目之间非常清楚地指向整个盒子.
我是否错误地理解了盒子和指针图或其他完全不同的东西?
我很好奇文件如何在python中工作.如何实现文件,以便它能够像这样循环:
csv_file = open("filename.csv", "r")
for line in csv_file:
# do something with line
Run Code Online (Sandbox Code Playgroud)