SICP视频讲座2
我对这个例子有疑问
(define (+ x y)
(if (= x 0)
y
(+ (-1+ x) (1+ y))))
-1+和1+有什么问题,当我评估它时,我得到这个结果
- DrScheme:-1+:这个函数未定义
- 球拍:引用未定义的标识符:-1+
但我写这个来代替,它可以工作
(define (add x y)
(if (= x 0)
y
(+ (- x 1) (+ y 1))))
I have a problem with this example
(define (+ x y)
(if (= x 0)
y
(+ (-1+ x) (1+ y))))
What is the problem with -1+ and 1+, when i evaluate it i get this result
- DrScheme: -1+: this function is not defined
- racket : reference to undefined identifier: -1+
but i write this instead and it works
(define (add x y)
(if (= x 0)
y
(+ (- x 1) (+ y 1))))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于球拍:
add1
而不是1+
sub1
而不是-1+
或1-
问题是,这些名称都不是标准的,因此您无法在所有 Scheme 实现中可靠地使用它们。 :-)
For Racket:
add1
instead of1+
sub1
instead of-1+
or1-
The trouble is, none of those names are standard, so you can't reliably use them across all Scheme implementations. :-)
您可以通过向 DrRacket 添加 SICP 支持来解决此问题。
http://www.neilvandyke.org/racket-sicp/
如有任何问题请告诉我。
You can fix this by adding SICP support to DrRacket.
http://www.neilvandyke.org/racket-sicp/
Anymore trouble let me know.