当我在 Dr Racket 中编写代码时,我收到了错误消息
unsaved-editor:8:2: 定义:函数体只需要一个表达式,但在:(定义(改进猜测 x)(平均猜测(/ x 猜测)))中发现了 3 个额外部分
但是这段代码可以在Racket或repl.it中运行。
我想知道为什么 Dr Racket 会发生错误,我的代码真的错了吗?
我的代码是这样的:
(define (average x y) (/ (+ x y) 2))
(define (square x) (* x x))
(define (sqrt1 x)
(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))
(define (improve guess x)
(average guess (/ x guess)))
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x) x)))
(sqrt-iter 1.0 x))
(sqrt1 9)