在haskell中按顺序列出的子列表

Bil*_*nde 1 haskell sublist

我想做的只是非常简单,但我似乎很难实现.我希望haskell中的函数具有此行为.

orderedsubs [2,5,3,4] = [[],[2],[2,5],[2,5,3],[2,5,3,4]]
Run Code Online (Sandbox Code Playgroud)

最初我考虑删除最后一个元素并将其放入列表并使用先前创建的列表重复该过程,但一旦存储,它就消失了.我不在乎子列表的顺序是否不同,但我想要这些特定的子列表.那么,有什么想法吗?提前致谢.

Sim*_*got 8

检查inits在Data.List模块:

inits函数返回参数的所有初始段,最短.例如,

inits "abc" == ["","a","ab","abc"]
Run Code Online (Sandbox Code Playgroud)

请注意,inits具有以下严格属性:inits _|_ = [] : _|_