【发布时间】:2016-04-09 09:47:56
【问题描述】:
所以我在玩一些 Haskell,试图自己学习它。我正在尝试解决某个问题,我应该创建一个随机数列表,然后将它们总结起来。
我有生成它们的代码 - 使用 getStdRandom 和 randomR。使用它们都返回IO Float的列表:[IO Float]
现在,当我尝试使用 foldl 或 foldr 对列表求和,甚至尝试简单的递归求和时,我会遇到错误等 - 据我了解,这是因为 IO Float 是一个单子,所以我需要做一些 Haskell 魔法让它工作。
我一直在谷歌搜索,但没有找到有效的方法。
有什么方法可以总结列表吗?甚至将其转换为浮点数列表,以便在代码的其他部分更容易解决?
【问题讨论】:
-
请添加您拥有的代码 - 解决方案可能像
sum <$> whateverYouHaveNow一样简单
标签: list haskell functional-programming sum monads