我有这个例子的问题
(define (+ x y)
(if (= x 0)
y
(+ (-1+ x) (1+ y))))
-1+和1+的问题是什么,当我评估它时我得到了这个结果
但是我写了这个,它有效
(define (add x y)
(if (= x 0)
y
(+ (- x 1) (+ y 1))))
最佳答案
对于 Racket :
add1
代替1+
sub1
代替-1+
或1-
麻烦的是,这些名称都不是标准名称,因此您不能在所有Scheme实现中可靠地使用它们。 :-)
关于scheme - SICP视频讲座2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695003/