синтаксические ошибки в программе поиска схемы - PullRequest
0 голосов
/ 23 февраля 2011

"Определить функцию под названием search, которая принимает символ и список и возвращает позицию первого вхождения символа в списке, используя индексацию на основе нуля. (Если первый элемент списка равенсимвол, вернуть 0.) Искать только элементы верхнего уровня. Если в списке нет символа, вернуть -1. "

Я написал такую ​​программу, но получаю синтаксические ошибки.Может кто-нибудь помочь мне, пожалуйста.

(define search (lambda (n x)
                 (let ( (i 0)))
                   (if (empty? x)
                    -1
                    (if (equal? n (car x))
                        0
                     (let ((index (+ i 1)) (tail (cdr x))))
                     (if (equal? n (search (n tail)))                       
                       index)))))

1 Ответ

2 голосов
/ 23 февраля 2011

Похоже, у вас слишком много закрывающих скобок в этой строке:

             (let ( (i 0)))

Удалите последний и попробуйте снова. Это не единственная синтаксическая ошибка в вашем коде, поэтому вам нужно позаботиться о том, чтобы все скобки правильно совпали.

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