我如何使用takeWhile在Haskell中实现take函数?

问题描述 投票:1回答:1

因此,在我的考试中,我不得不使用take在Haskell中实现takeWhile功能。

我该怎么做?

takeWhile中的条件是什么,以便仅从列表中获取所需数量的元素?

由于我在takeWhile中的理解,条件是指列表中的元素,而不是列表中的元素。

list function haskell definition take
1个回答
0
投票

据我理解,takeWhile中的条件是指列表的元素,而不是列表的数量

是的!除了,也许,也许,我们可以以某种方式使每个元素反映列表中之前元素的数量,即列表中的index

因此,我们需要转换参数列表

[ a, b, c, .... ]

到一个新的,经过修改的中,例如,在其元素中包含扩展信息

[(a, what?), (b, goes?), (c, here?), .... ]

然后在这些pairs上构建某种谓词以执行我们想要的操作;然后按照decorate--transform--uncocorate范式从对中恢复原始元素。

如果您不熟悉可以完成这些任务的内置高阶函数,则可以自己递归地对它们进行编码。或使用列表推导。

© www.soinside.com 2019 - 2024. All rights reserved.