在PureScript中将数组转换为列表

12

XY 问题

我如何在 PureScript 中将数组转换为列表?

arrayToList :: forall a. Array a -> List a
arrayToList = ???

实际问题

我一定要写这个函数吗?既然purescript-arrayspurescript-lists都没有定义这样的函数,那么在处理需要列表作为参数的函数时是否有惯用方式来处理数组呢?

例如Matrix.getRow返回一个数组,需要将其转换为一组Pux Html元素列表(在将矩阵渲染为HTML的过程中)。最好的方法是什么?

1个回答

18

使用编译器版本0.10.2,您可以简单地编写

arrayToList :: forall a. Array a -> List a
arrayToList = ?whatGoesHere

编译器会根据类型信息提供一份需要填充的事项列表。 ?whatGoesHere 被称为类型洞

在这种情况下,你可能需要使用 Data.Array.toUnfoldable 或者 Data.List.fromFoldable


1
只需要一个函数 Data.List.Lazy.List a -> Data.Array a,而 toUnfoldable 也可以胜任。 - stholzm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接