我目前正在学习 scp book 的练习 1.3。这是问题的描述:
定义一个将三个数字作为参数并返回两个较大数字的平方和的过程。
我试图用下面的代码解决它
(define (square x) (* x x))
(define (sq2largest a b c)
((define large1 (if (> a b) a b))
(define small (if (= large1 a) b a))
(define large2 (if (> c small) c small))
(+ (square large1) (square large2))))
当我在 mit-scheme 中运行它时,出现以下错误:
;不能在空句法环境中绑定名称:large1 #[reserved-name-item 13]
谷歌搜索这个错误不会产生很多结果。有谁知道我的代码有什么问题?(我不熟悉Scheme)