我对球拍有疑问,这是问题:
构建一个能够在drRacket上的Canvas中构建图形的功能,这必须接收一个带有图形的结构列表,其中包含以下各项:
a)类型:可以是“正方形”,“圆形”或“直线”
b)颜色:可以是“红色”,“黄色”,“绿色”或“蓝色”。
c)大小:在正方形是Side的情况下,在圆圈是Radio的情况下,在线条是 下一个点(例如,坐标为0,0的点(如果为其分配大小为50),则下一个点 点将是50,50)。
d)图形中心:它是一个posn结构(可在Racket博士中找到),请记住,中心 正方形的位置。
画布的尺寸是400 x 400,因此请记住,数字不能弄乱
所以,我尝试了这个:
( define-struct figura (tipo color tamaño centro))
(define figuras
(cons(make−figura "Cuadrado" "Azul" 50 (make−posn 50 50))
(cons(make−figura "Cuadrado" "Rojo" 100 (make−posn 100 150))
(cons(make−figura "Circulo" "Verde" 50 (make−posn 200 50))`enter code here`
(cons(make−figura "Circulo" "Amarillo" 100 (make−posn 300 300)))empty))))
,它说这行:(cons(make-figura“ Cuadrado”“ Rojo” 100(make-posn 100 150)) 有下一个问题: make-figura:未定义此功能
答案 0 :(得分:2)
我运行了您的代码,并得到了相同的错误消息。但是,当我第一次粘贴您的代码时,我在Racket的源代码中点击了此函数:
(normalize-string-info "The string you pasted contains ligatures or other non-normalized characters. Normalize them?")
我不是球拍专家,但是我猜想这是问题所在,所以我自己输入了代码段,就可以了。
(define-struct figura (tipo color tamano centro))
(define figuras
(cons (make-figura "Cuadardo" "Azul" 50 (make-posn 50 50))
(cons (make-figura "Cuadardo" "Rojo" 100 (make-posn 100 150))
(cons (make-figura "Circulo" "Verde" 50 (make-posn 200 50))
(cons (make-figura "Circulo" "Amarillo" 100 (make-posn 300 300))
'())))))