Wie man IO [Maybe String]
filtert, um nur die Just
-Werte der Liste zu behalten, die >>=
benutzen und den IO-Kontext behalten.
Meine aktuelle Lösung ohne den Bind-Operator:
%Vor%Ich lerne gerade Haskell und versuche zu verstehen, wie man die verschiedenen Funktionen der Standardbibliothek benutzt. Meine Lösung funktioniert, aber ich denke, es gibt einen saubereren Weg.
Eine kurze Lösung wäre
%Vor% Sie brauchen dafür nicht den Operator >>=
.
Hinweis: (\x -> binDoesntExist x) = binDoesntExist
Aus dem Kommentar, den Sie auf binDoesntExist
geschrieben haben, vermute ich, dass Sie vielleicht eine andere Typ-Signatur haben, nämlich:
Die Implementierung dieser Signatur wird wahrscheinlich einfacher als Ihre bestehende Implementierung sein; und zusätzlich wird dein missingBin
auch etwas einfacher:
Bei dieser Diskussion wird davon ausgegangen, dass Ihre vorhandene Funktion immer genau die String
zurückgibt, die sie übergeben hat (wenn sie String
überhaupt zurückgibt); aber diese Annahme scheint mir nicht so weit zu sein.