Мой преподаватель предоставил следующий код:Пользовательская функция для длины списка в схеме?
(define (length list)
(cond ((null ? list) 0)
((atom ? list) 1)
(else
(+ 1 (length (cdr list))))
Однако он не будет компилировать и схема хранится в ожидании ввода, поэтому я переписал его таким образом, что выглядит Tider мне и заметил, что это было 2 недостающие скобки (пожалуйста, обратите внимание, что это первый раз, когда я прикоснулся Scheme, я не уверен, как правильно класть его и писать его):
(define
(hello list)
(cond
((null ? list) 0)
((atom ? list) 1)
(else
(+1
(hello (cdr list))
)
)
)
)
я переименовал его в hello
просто сделать это очевидным, что это мой код.
Забегая однако получает следующее сообщение об ошибке:
]=> (hello '(a b c))
;Unbound variable: ?
Что случилось с моей функции?
К сожалению, редактирование в процессе очистки форматирования также устранило ошибку. :) –
Да, я поддержал это. – GoZoner