写入 Haskell 中的多个文件

Write to multiple files in Haskell

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

例如,假设我想将字母 az 放入以其内容的字母命名的文件中。最初的尝试是执行以下操作:

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

产生了以下错误:

Couldn't match expected type 'IO ()' with actual type '[IO ()]'

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

您需要的功能是zipWithM

回复。 way to loop through a list in a do block,也有这个功能 - sequence,所以你可以写 sequence $ zipWith writeFile letter letter.