(define (flip l)
(local [(define (flip p)
(make-posn (posn-y p)
(posn-x p)))]))
这只是翻转两个位置的位置。它应该工作。我用括号做错了吗?
继续给我这个错误 - 本地:期望在本地定义之后的表达式,但没有任何东西。
答案 0 :(得分:3)
local
特殊表单在定义后需要一个正文,所以基本上你错过了对flip
的调用:
(define (flip l)
(local [(define (flip p)
(make-posn (posn-y p)
(posn-x p)))]
(flip l)))
...但是在这里使用local
完全没必要!你可以直接达到同样的效果:
(define (flip p)
(make-posn (posn-y p)
(posn-x p)))
答案 1 :(得分:1)
如果您查看documentation for local
,则会看到定义后需要正文。在您关闭]
之后,您没有任何内容,因此它抱怨local
内缺少正文。
我无法确定你在这里想做什么,但也许了解错误的原因将有助于你朝着正确的方向前进。