首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SICP视频讲座2

SICP视频讲座2
EN

Stack Overflow用户
提问于 2011-10-08 05:30:32
回答 2查看 391关注 0票数 6

我对这个例子有问题。

代码语言:javascript
复制
(define (+ x y)
  (if (= x 0)
      y
      (+ (-1+ x) (1+ y))))

-1+和1+的问题是什么,当我评估它时,我得到了这个结果

  • DrScheme:-1+:该函数未定义
  • 球拍:对未定义标识符的引用:-1+

但是我把它写下来了,它很有效

代码语言:javascript
复制
(define (add x y)
  (if (= x 0)
      y
      (+ (- x 1) (+ y 1))))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-08 05:35:27

球拍:

1+

  • Use

  • 使用add1代替-1+1-

而不是add1 sub1

问题是,这些名称中没有一个是标准的,因此您无法在所有Scheme实现中可靠地使用它们。:-)

票数 12
EN

Stack Overflow用户

发布于 2012-02-21 02:39:44

您可以通过向DrRacket添加SICP支持来解决这个问题。

http://www.neilvandyke.org/racket-sicp/

麻烦再告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7695003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档