【发布时间】:2014-03-12 03:32:02
【问题描述】:
我正在研究 SICP,并且已经了解了关于平方根代码的部分。我知道“if”语句后面只能跟单个表达式。但是,在代码中,
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
当 'guess' 和 'x' 已经被陈述为 'if' 的后件表达式时,我不明白第 3、4 和 5 行如何有效。
【问题讨论】:
-
不,
if接受三个 s 表达式作为参数。(good-enough? guess x)是单个 s 表达式。guess是第二个,(square-iter ...)是第三个。
标签: if-statement scheme lisp conditional sicp