Scheme 累积不在方案中工作

Scheme 累积不在方案中工作,scheme,Scheme,我解决了一个涉及使用map和acculate的问题,但它给了我一个错误:“acculate:undefined;”无法引用未定义的标识符。 这是我的代码: ;Procedure to test it with (define (double x) (* 2 x)) (define (my-map proc sequence) (accumulate (lambda (x y) (cons (proc x) y)) '() sequence)) 有谁能告诉我如何解决这个问题吗?R

我解决了一个涉及使用
map
acculate
的问题,但它给了我一个错误:
“acculate:undefined;”无法引用未定义的标识符。

这是我的代码:

;Procedure to test it with
(define (double x)
   (* 2 x))

(define (my-map proc sequence) 
   (accumulate (lambda (x y) (cons (proc x) y)) '() sequence))

有谁能告诉我如何解决这个问题吗?

R5RS中没有定义过程
accumulate
。但它很简单,可以定义您自己的:

(define (accumulate proc init lst)
  (if (null? lst)
      init
      (proc (car lst)
            (accumulate proc init (cdr lst)))))

为便于将来参考,
acculate
在其他编程语言中也称为
foldr
fold right
inject
reduce
,有关详细信息,请咨询解释器。

R5RS中未定义
acculate
过程。但它很简单,可以定义您自己的:

(define (accumulate proc init lst)
  (if (null? lst)
      init
      (proc (car lst)
            (accumulate proc init (cdr lst)))))
在其他编程语言中,
accumulate
也称为
foldr
fold right
inject
reduce
,有关详细信息,请咨询您的解释器