Dans Haskell, comment écrire sur un nombre de fichiers arbitrairement grand?Écrire dans plusieurs fichiers dans Haskell
À titre d'exemple, disons que je veux prendre les lettres a
à z
et les mettre dans des fichiers nommés pour la lettre de leur contenu. Une première tentative a été de faire ce qui suit:
main :: IO()
main = do
let letter = map (:"") ['a'..'z']
zipWith writeFile letter letter
qui a produit l'erreur suivante:
Couldn't match expected type 'IO()' with actual type '[IO()]'
Je me sens comme il devrait y avoir un moyen de boucle à travers une liste dans un bloc do, mais je havre de paix pas pu le trouver encore.
Peut-être pourriez-vous plier votre 'zipWith' avec des actions factices pour que vous obteniez le bon type? – bli
@bli La chose avec laquelle je me bats ici est que je veux que le type soit '[IO()]' puisque je veux effectuer plusieurs actions d'E/S. Je pense qu'il devrait y avoir un moyen pour le bloc do d'accepter une liste, ou de l'aplatir pour moi. – martin