Scheme에서 2 차 방정식의 근원을 찾기위한 프로그램을 작성하고 싶습니다. 특정 바인딩에 대해서는 LET을 사용했습니다. 내가 (* 4 a c)
을하지 않았기 때문에 Scheme에서 Letter 사용하기
(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
으로 판별을 정의했다.
expand: unbound identifier in module in:
4ac
.
내 질문 평가 (어떤 순서로)하게하는 방법이다 : 나는 (4ac (* 4 a c))
을 정의하더라도, 그것은 나에게이 오류를주고있다? 그리고 만약 내가 내 let
에 4ac
을 원한다면 또 다른 내면 let
을 작성해야합니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?
이것은 SICP Lecture/Book의 예입니다! – Nishant