Ich versuche, n
Zeilen des Inhalts in eine Liste von Strings zu lesen. Ich habe verschiedene Varianten des Codes ausprobiert, aber nichts hat funktioniert.
Dies wirft den folgenden Fehler auf:
%Vor%Und
%Vor%wirft
%Vor%Wie kann ich das tun?
Verwenden Sie replicateM
von Control.Monad
:
Im Geiste, einem Mann einen Fisch zu geben / einem Mann beizubringen zu fischen: Sie hätten dies selbst herausfinden können, indem Sie Hoogle .
Sie haben:
IO String
Int
) Sie wollen:
IO [String]
Sie könnten also suche Hoogle nach (IO String) -> Int -> (IO [String])
. replicateM
ist der erste Treffer.
Eine andere Möglichkeit, wie Sie diese Aktion ausführen können, besteht darin, das Tool "pure replicate" und das Tool " sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)
" zu verwenden. Sagen wir zuerst, wir werden nach einer Zählung fragen und dann nach so vielen ganzen Zahlen fragen, um ihre Summe auf dem Terminal auszudrucken.
Tags und Links haskell