【发布时间】:2014-12-01 16:06:00
【问题描述】:
我创建了一个函数,它接受一个列表作为输入并返回一个列表或一个原子。我想将此函数应用于深层列表,从内部列表开始,然后在函数在外部列表上运行后完成。
有人可以给我一些指导吗?
样本输入将是 (a b (c (d e))) z) 函数应首先在 (d e) 上计算结果为 f。那么该函数应该在 (c f) 上计算结果为 say g 然后类似地在 (a b g z) 上计算以产生 h 的输出。
一个示例函数可以是:
(define sum
(lambda (l)
(if (not (pair? l))
0
(+ (car l) (sum (cdr l))))))
输入为 (1 2 (3 4) 5) > 15
【问题讨论】:
-
请发布您目前编写的代码,包括示例输入和预期输出,准确概述您的实现问题出在哪里
-
样本输入将是 (a b (c (d e)))) 函数应首先在 (d e) 上计算,结果为 f。然后该函数应该在 (c f) 上计算结果为 g 然后类似地在 (a b g) 上计算以产生 h 的输出。我无法粘贴我的代码,因为它是用于家庭作业的。
-
@user234234 看看stackoverflow.com/q/5699899/23567,它解决了类似的问题。没有任何代码,人们更不愿意提供帮助。
-
@seogaard 感谢您迄今为止的帮助,我很感激没有我的代码可能很难给我答案。我查看了您发布的问题,但在问题中,该函数是在列表的每个元素上计算的,而不是整个列表。您能否建议对此答案进行修改?
-
模仿map-deep的结构。