【发布时间】:2014-06-09 10:52:33
【问题描述】:
我必须通过 foldr 使用 map 来实现初始化。我得到了大部分,但是我的结果列表中缺少空列表元素。
inits :: [a] -> [[a]]
inits = foldr ( \ x y -> [x] : (map (x:) y) ) []
调用时会导致:
*蓝图
[[1],[1,2],[1,2,3]]
我现在有点卡住了,如果有人能指出我错误的大致方向,我会很高兴。
提前致谢
已解决:
inits :: [a] -> [[a]]
inits = foldr ( \ x y -> [] : (map (x:) y) ) [[]]
【问题讨论】: