我的语法有什么问题?试图查看列表是否包含Scheme中的所有唯一元素

问题描述 投票:0回答:1
(define (all-different? L)
  (if
    (null? L) 
    #t
  (
    if(
      (member (car L) (cdr L)) 
      #f
    (
      (all-different? (cdr L))
    ))
  )))
scheme
1个回答
2
投票

有几个错位的括号,缩进是......不存在的。试试这个,并注意缩进Scheme代码的标准方法以及我们通常打开和关闭括号的地方 - 这将帮助你找到很多错误:

(define (all-different? L)
  (if (null? L)
      #t
      (if (member (car L) (cdr L))
          #f
          (all-different? (cdr L)))))

请记住,在Scheme中,一对()括号表示:“将此过程与参数一起应用”。所以你必须非常小心,不要用()围绕一切。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.