在Haskell中,如何去写入任意大量的文件?写入Haskell中的多个文件
举个例子,假设我想把a
到z
这两个字母放在一个文件名里面,这个文件的内容是字母。最初的尝试是做到以下几点:
main :: IO()
main = do
let letter = map (:"") ['a'..'z']
zipWith writeFile letter letter
这将产生以下错误:
Couldn't match expected type 'IO()' with actual type '[IO()]'
我觉得应该有一个方法来遍历一个do块列表,但我避风港现在还找不到它。
也许你可以用虚假行为折叠你的'zipWith',这样你就可以得到正确的类型? – bli
@bli我在这里挣扎的是我想要类型为'[IO()]',因为我想执行多个IO操作。我觉得do block应该有一个方法来接受一个列表,或者将它展平给我。 – martin