开发者

Iterating over arrays in haskell

My problem is that I need to iterate over array and calculate some value depend on every element. I was looking for some fold-like function for arrays, but standard library开发者_开发问答 seems to be very useless with arrays. Or i'm missing something?

The other solution may be 'binding' array to a list. Binding mean that I don't want to copy that array. Is this possible?

Btw, its all about plain Array.


Take a look at Data.Foldable. It defines a type class that does exactly what you want.


Using Data.Foldable you can foldr/foldl an Array just like you can a list.

Another option is that you can convert the Array back into a list with elems, and then foldr or foldl over the list.


What kind of array type are you using? You may be able to just foldM over the index space.

Or use one of the array libraries that directly support folds (uvector).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜