2

我可以在and语句中使用递归调用来构建迭代过程吗?

例如,目的,我们有foo不做任何事情的功能。它将创建什么样的过程(迭代或递归)?

(define (foo? bar) 
  (if (< bar 0) true (and (> 10 1) (foo? (- bar 1)))))
4

2 回答 2

4

是的,and没关系 - 您可以在标准中阅读此内容。

于 2011-01-04T10:00:25.760 回答
4

为了兰伯特的缘故,让我们扩展语法。

(define (foo? bar) 
  (if (< bar 0) 
      #t ; tail position, but no call
      (if (> 10 1) 
          (foo? (- bar 1)) ; tail position
          #f))) ; tail position, but no call
于 2011-01-04T10:14:16.147 回答