我试图按照Which lang packet is proper for SICP in Dr.Racket?中的方案和sicp进行操作
但是当我在接受的答案中运行代码时
#lang sicp
(paint-highres (below (beside diagonal-shading
(rotate90 diagonal-shading))
(beside (rotate270 diagonal-shading)
(rotate180 diagonal-shading))))
我收到错误
paint-hires: unbound identifier in: paint-hires
我已经安装了 sicp 软件包。 有谁知道问题出在哪里吗?
最佳答案
paint-hires
函数是原始 MIT 方案实现的遗留形式。当时,在进行实验时,“高分辨率”太慢而无法使用 - 因此使用 paint-hires
来获得“最终”图像。
当 SICP 图片语言的原始 MIT 方案实现移植到 PLT 方案时,paint-hires
被保留。
最近(在一两年内)SICP 图片语言在现代 Racket 上重新实现。这使您能够使用具有您选择的分辨率和颜色的图片语言! (最初的 MIT 方案用于单色显示器)等等。
复制“main.rkt”和 einstein2.jpg”并将它们保存在同一文件夹中。
在 DrRacket 中打开“main.rkt”并运行它。
请查看底部的示例。
在“main.rkt”底部添加您自己的程序。
查看文件以了解如何使用颜色等。
两个文件都在这里: https://github.com/sicp-lang/sicp/tree/master/sicp-pict
关于scheme - 油漆雇用 : unbound identifier in: paint-hires,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175013/