给定一个列表列表作为输入,我想执行一个程序,使最终结果为:
(define (thing . lists) ; list of lists (l1 l2 ... lN)
;returns ...f(f(f(l1 l2) l3) lN)...
)
例如:
(thing '(a b) '(c d) '(e f))
...会产生f(f((a b) (c d)) (e f))
我正在与折叠,lambda,应用和地图作斗争,但我无法找到正确的方法。
答案 0 :(得分:1)
假设输入至少两个列表并且之前已定义<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Section1" class="divFiles">
<input type="text" name="file" value="a">
<input type="text" name="file" value="b">
<input type="text" name="file" value="c">
<input type="text" name="file" value="d">
</div>
<div id="Section2" class="divFiles">
<input type="text" name="file" value="e">
<input type="text" name="file" value="f">
<input type="text" name="file" value="g">
<input type="text" name="file" value="h">
</div>
:
f
例如:
(define (thing . lists)
(foldr (lambda (lst acc)
(f acc lst))
(f (car lists) (cadr lists))
(cddr lists)))