(define (all-different? L)
(if
(null? L)
#t
(
if(
(member (car L) (cdr L))
#f
(
(all-different? (cdr L))
))
)))
有几个错位的括号,缩进是......不存在的。试试这个,并注意缩进Scheme代码的标准方法以及我们通常打开和关闭括号的地方 - 这将帮助你找到很多错误:
(define (all-different? L)
(if (null? L)
#t
(if (member (car L) (cdr L))
#f
(all-different? (cdr L)))))
请记住,在Scheme中,一对()
括号表示:“将此过程与参数一起应用”。所以你必须非常小心,不要用()
围绕一切。