【SICP练习】65 练习2.36
来源:互联网 发布:吊顶面积算法 编辑:程序博客网 时间:2024/05/22 10:25
练习2.36
虽然accumulate正在变得越来越复杂,但我还并未完全领悟到它的深刻意义。不过直觉告诉对于序列的序列,我们要做的是依次取出它每个序列的第一个元素。此方法来源于网络,我一直都是想着用lambda来写,最后感觉太复杂了。没想到一个map就解决了问题。
Lisp中的高阶函数果然不仅仅是函数那么简单,它能做的真是太多了。抽象也不是一般的抽象。简简单单的一个(map car seqs)便能把序列中的序列的第一个元素计算出来。有了这个技巧题目自然就有了答案。
(define (accumulate-n op init seqs)
(if (null? (car seqs))
‘()
(cons (accumulate op init (map car seqs))
(accumulate-n op init (map cdrseqs)))))
5 0
- 【SICP练习】65 练习2.36
- 【SICP练习】2 练习1.6
- 【SICP练习】3 练习1.7
- 【SICP练习】4 练习1.8
- 【SICP练习】5 练习1.9
- 【SICP练习】6 练习1.10
- 【SICP练习】7 练习1.11
- 【SICP练习】8 练习1.12
- 【SICP练习】9 练习1.15
- 【SICP练习】10 练习1.16
- 【SICP练习】11 练习1.17
- 【SICP练习】12 练习1.18
- 【SICP练习】13 练习1.19
- 【SICP练习】14 练习1.20
- 【SICP练习】15 练习1.21
- 【SICP练习】16 练习1.22
- 【SICP练习】17 练习1.23
- 【SICP练习】18 练习1.24
- STL for_each
- 【SICP练习】63 练习2.34
- 动态规划学习系列——划分DP(三)
- 【线性回归】为何线性回归误差要服从高斯分布?
- 【SICP练习】64 练习2.35
- 【SICP练习】65 练习2.36
- 【SICP练习】66 练习2.37
- 【SICP练习】67 练习2.38
- 【SICP练习】68 练习2.39
- rails中select不能响应多选的解决办法
- 【SICP练习】69 练习2.40
- 【SICP练习】70 练习2.41
- fhq Treap模板
- 【SICP练习】71 练习2.42