(define (flip l)
(local [(define (flip p)
(make-posn (posn-y p)
(posn-x p)))]))
这只是翻转两个posns的位置。它应该工作。我对括号做了什么错误吗?使用本地球拍
不断给我这个错误 - 本地:期望本地定义后的表达式,但没有。
(define (flip l)
(local [(define (flip p)
(make-posn (posn-y p)
(posn-x p)))]))
这只是翻转两个posns的位置。它应该工作。我对括号做了什么错误吗?使用本地球拍
不断给我这个错误 - 本地:期望本地定义后的表达式,但没有。
的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)))
如果您检查documentation for local
,您会发现它在定义后面会出现正文。你在关闭]
之后没有任何东西,所以它抱怨local
身体缺失。
我真的不知道你在这里做什么,但也许理解错误的原因将有助于你朝着正确的方向前进。
你想要定义一个函数吗?如果是这样,你为什么试图使用“本地”? – DaoWen