[英]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.