1

在 Haskell 中,如何写入任意数量的文件?

举个例子,假设我想把这些字母a通过z并将它们放在以它们的内容字母命名的文件中。最初的尝试是执行以下操作:

main :: IO ()
main = do
       let letter = map (:"") ['a'..'z']
       zipWith writeFile letter letter

这产生了以下错误:

无法将预期类型“IO ()”与实际类型“[IO ()]”匹配

我觉得应该有一种方法可以遍历 do 块中的列表,但我还没有找到它。

4

1 回答 1

2

您需要的功能是zipWithM

回覆。way to loop through a list in a do block,还有一个this- sequence的函数,所以你可以写sequence $ zipWith writeFile letter letter

于 2017-06-29T09:18:16.980 回答