make-posn返回#<posn>而不是posn

时间:2017-10-10 16:02:12

标签: scheme racket

我试图了解Scheme中的draw库,但我已经遇到了问题。

(define defaultpos (make-posn 400 400))
(start 800 800)
(draw-circle defaultpos 10 'green)

理论上,这应该打开一个新窗口,中间有一个绿色圆圈。相反,我收到此错误消息:

draw-circle: expects a posn as first argument, given #<posn>

我尝试过制作一个包含两个元素的列表作为位置,但这显然不起作用。接下来,我检查了defaultpos是否实际上是一个posn结构,它是。

(posn? defaultpos)
> #t

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您确定使用正确的语言和导入吗?将您的语言设置为&#34;开始学生&#34;试试这个,它对我有用:

(require htdp/draw)

(define defaultpos (make-posn 400 400))
(start 800 800)
(draw-circle defaultpos 10 'green)