Я пишу функцию, принимающую интервал в качестве аргумента, и возвращает процентную ошибку, но я застрял в использовании let или let *. Вот код:Использование вложенных let или let * в схеме
вложенная версия пусть:
(define (percent interval)
(let (start-point (car interval))
(let (end-point (cdr interval))
(let (center (/ (+ start-point end-point) 2)))))
(/ (- end-point center) center))
ошибка: пусть: плохой синтаксис (не идентификатор и выражения для связывания) в: начальной точке
пусть * версия:
(define (percent interval)
(let* ((start-point (car interval))
(end-point (cdr interval))
(center (/ (+ start-point end-point) 2))))
(/ (- end-point center) center))
ошибка сейчас:
let*: bad syntax (missing body) in: (let* ((start-point (car interval)) (end-point (cdr interval)) (center (/ (+ start-point end-point) 2))))
Я ссылался на некоторую документацию, но не мог понять и ошибку. (пс: Я использую DrRacket 6.2)
Вы упомянули, что используете DrRacket. Используете ли вы язык Racket, один из языков Scheme (R5RS или R6RS) или один из языков обучения? –
Я использую Scheme, но не Racket строгий суперсет из Схемы? – Caesar
Не совсем, плюс различные диалекты все немного разные.Обычно бывает полезно указать * точно * какой вариант схемы, с которой вы работаете, ни одна из них не является одинаковой. –