54 votes

Impression des éléments d'une liste sur de nouvelles lignes

J'essaie d'imprimer les éléments de ma liste sur de nouvelles lignes, mais je n'arrive pas à le faire fonctionner ;

 printElements :: [String] -> IO()
printElements (x:xs) =  print x (some kind of newline, then loop?) printElements xs

Donc ça:

 ["1","2","2","4"]

donnerait :

 1
2
3
4

14voto

alvivi Points 678

Votre fonction est :

 printElements :: [String] -> IO()
printElements [] = return ()
printElements (x:xs) = do putStrLn x
                          printElements xs

Si vous connaissez déjà les monades, vous pouvez utiliser la fonction mapM_ :

 printElements :: [String] -> IO()
printElements = mapM_ putStrLn

Remarque : peut-être devriez-vous lire le chapitre 8 de lyah .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X