(define a 3)
(define b (+ a 1))
(+ 2 (if (> b a) b a))
REPL: 6
(+ 2 (if (> b a) b a)) == (+ 2 (if (> 4 3) 4 3)) -> (2 + 4 + 3) = 9 ?
难道不应该是这样吗?为什么结果是6而不是9?我同时返回b和a ...
(define a 3)
(define b (+ a 1))
(+ 2 (if (> b a) b a))
REPL: 6
(+ 2 (if (> b a) b a)) == (+ 2 (if (> 4 3) 4 3)) -> (2 + 4 + 3) = 9 ?
难道不应该是这样吗?为什么结果是6而不是9?我同时返回b和a ...
您只能获得
b
比上一行中的值大 1 的值a
。表达:
b
如果条件(> b a)
为true则返回,并将返回第一个参数的值,即b
,如果为 false ( nil ),则为第二个。