我正在研究SICP的Exercise 2.24:
练习2.24。假设我们评估表达式(列表1(列表2(清单3 4))。给出由口译员打印的结果,相应的盒和指针结构,以及这就像一棵树(如图2.6所示)。
并绘制框和指针为
(1 (2 (3 4))) ((2 (3 4)))
[*]---------------> [*]
| |
| |
v v (2 (3 4)) ((3 4))
1 [*]---------------> [*]
| |
| |
v v (3 4) (4)
2 [*]---------------> [*]---------------> '()
| |
| |
v v
和树
(1 (2 (3 4)))
*
/ \
/ \ (2 (3 4))
1 *
/ \
/ \ (3 4)
2 *
/ \
/ \
3 4
有没有解决方案可以描绘这种树形或箱形指针的结构?
一开始可能很有帮助,因为立即想象结构并不容易。
在使用球拍时,您可能需要sdraw。您可以通过例如raco pkg install sdraw
来获得它。