我正在阅读SICP的第一章
它指出
To evaluate a combination, do the following:
1. Evaluate the subexpressions of the combination.
2. Apply the procedure that is the value of the leftmost subexpression (the operator) to the arguments that are the values of the other subexpressions (the operands).
假设一个组合 (+ 1 2)
根据上述算法,
第一个是评估(检索)+1和2)
第二个是将+应用于1(存储中间状态)
第三个是评估(检索)中间状态和2。
第四是将中间状态应用于2。
这样对吗?
什么是中间状态+1
?
表达(+ 1 2)
是由图元的表达式组成的组合:+
,1
,和2
。
第一步说要评估所有子表达式。在这种情况下,它们分别是执行数字总和的运算符,以及分别与数字1和2对应的数字。
因此,您有一个运算符和两个数值。第二步说,您必须将运算符(最左边的值)应用于两个数字:换句话说,必须将sum运算符应用于1和2,以便获得数字3。然后过程终止。
请注意,此计算中没有中间状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句