对于 SICP 课程,我们正在学习 Scheme,我们有一个任务要求我们检查一个点是否在轴对齐的矩形中。我是这样做的:
(define in-rect?
(lambda (px py rx1 ry1 rx2 ry2)
(<= (* (- px rx1) (- px rx2)) 0) and
(<= (* (- py ry1) (- py ry2)) 0)))
我是根据我以前的 C 习惯这样做的,并在那里暂时忘记了波兰表示法。我们的在线辅导程序使用的解释器按照我的意图“正确”地运行此代码。但是,AFAIK,“and”的这种用法在语法上应该是错误的。当我尝试运行它时,DrRacket 指出了一个语法错误。
那么这是如何评估在线导师上每个测试用例的正确值的呢?这个选项是否也有效?