Scheme 在球拍中使用本地

Scheme 在球拍中使用本地,scheme,local,racket,Scheme,Local,Racket,这只是翻转两个posn的位置。它应该是有效的。我是不是把括号弄错了 一直给我这个错误-local:在本地定义之后应该有一个表达式,但是没有 如果您选中,您将看到它在定义之后需要一个body。您在关闭]后没有任何东西,因此它抱怨本地中缺少主体 我真的不知道您想在这里做什么,但也许了解错误的原因将有助于您朝着正确的方向前进。如果您检查,您将看到它在定义之后需要一个实体。您在关闭]后没有任何东西,因此它抱怨本地中缺少主体 我真的不知道您在这里想做什么,但也许了解错误的原因将有助于您朝正确的方向前进。特

这只是翻转两个posn的位置。它应该是有效的。我是不是把括号弄错了

一直给我这个错误-local:在本地定义之后应该有一个表达式,但是没有

如果您选中,您将看到它在定义之后需要一个body。您在关闭
]
后没有任何东西,因此它抱怨
本地
中缺少主体

我真的不知道您想在这里做什么,但也许了解错误的原因将有助于您朝着正确的方向前进。

如果您检查,您将看到它在定义之后需要一个实体。您在关闭
]
后没有任何东西,因此它抱怨
本地
中缺少主体

我真的不知道您在这里想做什么,但也许了解错误的原因将有助于您朝正确的方向前进。

特殊表单要求在定义之后有一个正文,因此基本上您错过了调用
flip

(define (flip l)
  (local [(define (flip p)
            (make-posn (posn-y p)
                       (posn-x p)))]))
。。。但是在这里使用
local
是完全没有必要的!您可以直接达到相同的效果:

(define (flip l)
  (local [(define (flip p)
            (make-posn (posn-y p)
                       (posn-x p)))]
    (flip l)))
特殊表单要求在定义之后有一个body,因此基本上您错过了对
flip
的调用:

(define (flip l)
  (local [(define (flip p)
            (make-posn (posn-y p)
                       (posn-x p)))]))
。。。但是在这里使用
local
是完全没有必要的!您可以直接达到相同的效果:

(define (flip l)
  (local [(define (flip p)
            (make-posn (posn-y p)
                       (posn-x p)))]
    (flip l)))

您正在尝试定义一个函数吗?如果是这样,为什么要使用
local
?是否要定义函数?如果是这样,为什么要使用
local