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
,有关详细信息,请咨询您的解释器