Scheme迭代如何工作?

时间:2012-12-16 17:34:20

标签: functional-programming scheme

4.2.4迭代下的R5RS -

(let ((x '(1 3 5 7 9)))
  (do ((x x (cdr x))
       (sum 0 (+ sum (car x))))
      ((null? x) sum))) 

- cdrcar的用法是什么?

行中的x会发生什么 -

(do ((x x (cdr x))
           (sum 0 (+ sum (car x))))
          ((null? x) sum))

1 个答案:

答案 0 :(得分:1)

  • car = first(如列表的第一个元素)
  • cdr = rest(除了列表的第一个元素之外的所有内容)

循环将列出项目。