Я очень новичок в Scheme и работаю над проблемой, определенной следующим образом:
Напишите функцию схемы find-loc, которая принимает два параметра, список lst и atm atm, и возвращает индекспервого местоположения, где atm встречается в списке.Индекс местоположения является 1-относительным.Если atm не появляется в списке, функция возвращает n + 1, где n - длина списка.
, что у меня так далеко:
(define (find-loc list atm)
(if (not(list? list))
0
(cond
((null? list)
1)
((eq? (car list)atm)
1))
(else (+ (find-loc (cdr list atm) 1) )))
Я чувствую, что я близко, но я немного застрял.Мои основные вопросы таковы:
как мне определить, что такое атом?
почему я получаю следующую ошибку?"define: ожидалось только одно выражение для тела функции, но найдена 1 дополнительная часть"