J'ai une liste de chaînes et j'ai essayé ceci :
ls = [ "banana", "mango", "orange" ]
main = do
map PutStrLn list_of_strings
Cela n'a pas fonctionné, et je ne comprends pas pourquoi.
ghc print-list.hs
print-list.hs:3:0:
Couldn't match expected type `IO t' against inferred type `[IO ()]'
In the expression: main
When checking the type of the function `main'
Des indices ? Je suppose que c'est lié au fait que map renvoie une liste et non une valeur, mais je n'ai pas trouvé de moyen facile de résoudre ce problème.
Pour l'instant, le seul moyen que je connaisse pour imprimer une liste de chaînes de caractères est d'écrire une fonction qui va itérer la liste, en imprimant chaque élément (print si la liste est [a], mais print et recurse si c'est (a:b)). Mais ce serait beaucoup Il est plus simple d'utiliser la carte...
Merci de votre attention !