繁体   English   中英

Haskell:总结列表的元素

[英]Haskell: summing up the elements of a list

我必须总结这样一个列表的元素,例如:如果您的输入是['a','b','c'] ,则输出应为["a","ab","abc"] 但是我不知道该如何编码……有人可以给我一个提示吗? 我会很感激!

所有这些提示都很好,但是您也可能会与之抗争

我建议您从这里开始:

sumList [] = []
sumList [x] = [[x]]
sumList (x:xs) = ... : map (...) (sumList xs)

并尝试找出您必须将两者都放入...提示不一样;))

第一行只是为空列表提供一些合理的结果作为输入-您可以将其删除(递归不应击中它)

第二个将执行[1] -> [[1]]

现在,您必须弄清楚该怎么做-这是一个附加提示:

sumList [1,2]
{ 3. line - x = 1, xs = [2] }
= ... : map (...) (sumList [2])
{ 2. line }
= ... : map (...) [[2]]

现在你想要

= [[1],[1,2]]

所以看起来你可以做到这一点

first ... = [1]
second ... = map (prepend 1) to every list in [[2]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM