Я использую drscheme из:
http://www.archlinux.org/packages/extra/x86_64/drscheme/
Я пытаюсь работать с примером кода в моем учебнике, но получаю ошибки «несвязанный идентификатор». Это потому, что интерпретатор схемы не настроен правильно? или код просто неверный?
Вот несколько примеров:
Введите:
#lang scheme
(define (equalimp lis1 lis2)
(COND
((NULL? lis1) (NULL? lis2))
((NULL? lis2) '())
((EQ? (CAR lis1) (CAR lis2)) (equalimp (CDR lis1) (CDR lis2)))
(ELSE '())
))
Выход:
Добро пожаловать в DrScheme, версия 4.2.5 [3m]. Язык: схема; ограничение памяти: 128 МБ.
развернуть: несвязанный идентификатор в модуле в: COND
Введите:
#lang scheme
(define (quadratic_roots a b c)
(LET (
(root_part_over_2a
(/ (SQRT (- (* b b) (* 4 a c))) (* 2 a)))
(minus_b_over_2a (/ (- 0 b) (* 2 a)))
)
(DISPLAY (+ minus_b_over_2a root_part_over_2a))
(NEWLINE)
(DISPLAY (- minus_b_over_2a root_part_over_2a))
))
Выход:
развернуть: несвязанный идентификатор в модуле в: LET
Примечание: я попытался использовать LET *, потому что я прочитал это: stackoverflow.com/ questions / 946050 / using-let-in-схема, но он выдает ту же ошибку.
Спасибо!