Что не так с моим синтаксисом?Попытка увидеть, содержит ли список все уникальные элементы в схеме - PullRequest
0 голосов
/ 12 марта 2019
(define (all-different? L)
  (if
    (null? L) 
    #t
  (
    if(
      (member (car L) (cdr L)) 
      #f
    (
      (all-different? (cdr L))
    ))
  )))

1 Ответ

2 голосов
/ 12 марта 2019

Есть пара неуместных скобок, и отступ ... не существует. Попробуйте это и обратите внимание на стандартный способ отступа кода Scheme и мест, где мы обычно открываем и закрываем скобки - это поможет вам во многих случаях находить ошибки:

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

Помните, что на схеме пара () скобок означает: «применить эту процедуру с параметрами». Поэтому вы должны быть очень осторожны, не окружайте все словами ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...