Scheme高手请进~两个函数相互定义

Scheme高手请进~两个函数相互定义
(define (flat-recur seed list-proc)
(letrec ((helper (lambda (ls)
(if (null?ls) seed
(list-proc (car ls) (helper (cdr ls)))))))
helper))
(define (deep-recur seed item-proc list-proc)
(letrec ((hlp (lambda (ls)
(if (null?ls) seed
(let ((a (car ls)))
(if (or (pair?a) (null?a))
(list-proc (hlp a) (hlp (cdr ls)))
(item-proc a (hlp (cdr ls)))))))))
hlp))
怎么用deep-recur定义flat-recur,怎么用flat-recur定义deep-recur?
就是在定义deep-recur之后用deep-recur的功能来定义flat-recur,另一个就是反过来啦~
本人为菜鸟,这是一本菜鸟入门书的训练题来着
菜绪 1年前 已收到1个回答 举报

nmgshidai 种子

共回答了23个问题采纳率:69.6% 举报

(define (flat-recur seed list-proc)
(deep-recur seed list-proc list-proc))
用flat-recur来定义deep-recur尚未想到好办法..

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.032 s. - webmaster@yulucn.com