Scheme 有人能解释一下:(+2(如果(>ba)ba))?

Scheme 有人能解释一下:(+2(如果(>ba)ba))?,scheme,lisp,Scheme,Lisp,开始练习计算机程序的结构和解释,在第一组练习中,我一直坚持这一点 a=3 b=4 (+ 2 (if (> b a) b a)) 我查到了答案:6,但是,我自己也查过了,我不知道如何得到这个数字 有人能解释一下吗?您可以简单地替换这些值以了解发生了什么,因此您的表达式是 (+ 2 (if (> 4 3) 4 3)) >如果4大于3,那么4和3会进行比较,这当然是真的 如果为真,那么如果条件为真,那么3将计算为4,否则为3,所以在这种情况下,我们得到4,剩下的是 +2 4是加上2,4

开始练习计算机程序的结构和解释,在第一组练习中,我一直坚持这一点

a=3
b=4
(+ 2 (if (> b a) b a))
我查到了答案:6,但是,我自己也查过了,我不知道如何得到这个数字


有人能解释一下吗?

您可以简单地替换这些值以了解发生了什么,因此您的表达式是

(+ 2 (if (> 4 3) 4 3))
>如果4大于3,那么4和3会进行比较,这当然是真的

如果为真,那么如果条件为真,那么3将计算为4,否则为3,所以在这种情况下,我们得到4,剩下的是

+2 4是加上2,4是6

(+ 2 (if true 4 3))