【发布时间】:2010-12-10 14:49:28
【问题描述】:
我正在尝试在方案中使用“映射”和“累积”函数将未知数量的列表排序到一个列表中,第一个列表将包含旧列表的所有第一个位置,依此类推。
(1 2 3.. ) (4 5 6..) (7 8 9..)...
到这个列表:
(1 4 7) (2 5 8) (3 6 9).
我在写这个:
(accumulate (lambda (x y) (if (null? y) x (map cons x y))) null '((1 2 3) (4 5 6) (7 8 9) (9 10 11) (12 13 14)))
它最后总是给我带来烦人的点......
((1 4 7 9 . 12) (2 5 8 10 . 13) (3 6 9 11 . 14)).
似乎是什么问题?谢谢!
【问题讨论】:
-
哪种方案,以及累积的定义或至少是文档?
标签: map scheme accumulate