小编Kev*_*nch的帖子

在DrRacket中编译SICP图片练习?

我将通过SICP进行自学,并参与第2章的图片语言部分.我一直在使用DrRacket进行早期练习,但在尝试基于"画线"进行练习时出现编译错误本书这一部分的图片功能.

具体来说,这段代码......

(define (segments->painter segment-list)   
 (lambda (frame)     
  (for-each     
   (lambda (segment)        
    (draw-line         
     ((frame-coord-map frame) (start-segment segment))         
     ((frame-coord-map frame) (end-segment segment))))      
 segment-list)))
Run Code Online (Sandbox Code Playgroud)

...产生这个错误......

draw-line: unbound identifier in module in: draw-line
Run Code Online (Sandbox Code Playgroud)

所以我在这个论坛做了一些研究,并安装了Neil Van Dyke提供的SICP软件包(http://www.neilvandyke.org/racket-sicp/#(part._usage)).我按照所有步骤,按照指示将语言更改为SICP,但仍然得到相同的错误.

我认为这个软件包的目的是定义这个"内置"函数(以及书中的其他函数).只是为了预测一些问题,我在文件中没有'require'语句并使用'#lang planet neil/sicp'来指定语言而不是使用菜单(我也尝试使用菜单将语言更改为SICP并获取一个更奇怪的错误;​​请参阅下面的附言).我的环境是Windows 7,DrRacket的版本是5.3.1.

也许我只是犯了一个菜鸟错误; 任何见解将不胜感激.

谢谢.

PS:对于那些感兴趣的人,当我使用菜单将语言设置为'SICP(PLaneT 1.17)'时,对于我尝试编译的任何定义(即使是最微不足道的),我都会收到以下错误...

<unsaved editor>:1:0: #%top-interaction: unbound identifier;
also, no #%app syntax transformer is bound in: #%top-interaction
Run Code Online (Sandbox Code Playgroud)

lisp scheme sicp racket

10
推荐指数
2
解决办法
2675
查看次数

标签 统计

lisp ×1

racket ×1

scheme ×1

sicp ×1