Я хочу написать программу для поиска корней квадратного уравнения на схеме. Я использовал LET для определенных привязок.
(define roots-with-let
(λ (a b c)
(let ((4ac (* 4 a c))
(2a (* 2 a))
(discriminant (sqrt ( - (* b b) (4ac)))))
(cons ( / ( + (- b) discriminant) 2a)
( / ( - (- b) discriminant) 2a)))))
Я определил дискриминант с 4ac
, так как я не хотел (* 4 a c)
. Несмотря на то, что я определил (4ac (* 4 a c))
, он дает мне эту ошибку:
раскрыть: несвязанный идентификатор в модуле в: 4ac
.
У меня вопрос, как оценивать пусть (в каком порядке)? И если я хочу 4ac
в моем let
, я должен написать еще один внутренний let
? Есть ли лучший способ сделать это?