【发布时间】:2021-06-29 20:57:06
【问题描述】:
SICP 2.2.4 中的“Painter”示例非常有趣,它提供了创建漂亮的 Escher 式绘画的方法。例如,递归右拆分过程可以这样完成:
(define (right-split painter n)
(if (= n 0)
painter
(let ((smaller (right-split painter (- n 1))))
(beside painter (below smaller smaller)))))
但是,这些示例都无法实际运行或可视化。是否可以使用任何类型的“输入画家”(甚至是 ASCI 文本/艺术,如圆形或正方形)来说明如何以完整的方式实际使用这些程序?
【问题讨论】: