Scheme-具有大于、小于和and条件的初学者语法问题

Scheme-具有大于、小于和and条件的初学者语法问题,scheme,racket,Scheme,Racket,我刚开始在DrRacket中编写scheme。然而,正如我们都可能知道的那样,语法上的这些小变化总是把我们搞得一团糟 我相信我的错误是有条件的。如果有人能看看,告诉我出了什么问题,那就太好了 ; in-range?: int int list of numbers --> boolean (define in-range? (lambda (a b s) (cond [(null? s) #t] ;List is empty [(null? a) #f]

我刚开始在DrRacket中编写scheme。然而,正如我们都可能知道的那样,语法上的这些小变化总是把我们搞得一团糟

我相信我的错误是有条件的。如果有人能看看,告诉我出了什么问题,那就太好了

; in-range?: int int list of numbers --> boolean
(define in-range?
  (lambda (a b s)
    (cond [(null? s) #t] ;List is empty
          [(null? a) #f]
          [(null? b) #f]
          [((and >= (car s)) ((a) <= (car s)) (b)) (in-range? (a) (b) (cdr s))]
          [else #f]
     )))
;范围内?:整数数字列表-->布尔值
(在范围内定义?
(兰姆达(a b s)
(cond[(null?s)#t];列表为空
[(空?a)#f]
[(空?b)#f]
想象一下这种形式:

(test a b)
test
不是语法操作数时,您可以看到它是一个应用程序,因为有括号。然后对
test
进行求值,预期结果是一个可以使用求值参数
a
b
调用的过程

这是第二个学期中唯一的一次抑郁:

((and >= (car s)) ((a) <= (car s)) (b)) (in-range? (a) (b) (cdr s))
JavaScript中也存在大量语法错误:-o

想象一下这种形式:

(test a b)
test
不是语法操作数时,您可以看到它是一个应用程序,因为有括号。然后对
test
进行求值,预期结果是一个可以使用求值参数
a
b
调用的过程

这是第二个学期中唯一的一次抑郁:

((and >= (car s)) ((a) <= (car s)) (b)) (in-range? (a) (b) (cdr s))

JavaScript中也有很多语法错误:-o

我想知道为什么有
null?
检查
a
b
,因为签名说
a
b
是整数,而不是列表如果它们为空则返回false,我在几分钟前意识到如果它们为空,程序甚至不会运行后更改了它e无论如何都是空的。我想知道你为什么有
null?
检查
a
b
,因为签名上说
a
b
是整数,而不是列表。如果它们是空的,则返回false。几分钟前,我意识到程序即使是空的,也不会运行。谢谢Sylvester!这是很有道理:)谢谢西尔维斯特!这很有道理:)