Haskell - Großschreibung aller Buchstaben in einer Liste [String] mit toUpper

Ich habe eine Liste [String]. Die Aufgabe besteht darin, die Elemente in der Liste zu entfernen, die "q" oder "p" haben, und dann alle Buchstaben in der Liste mit toUpper in Großbuchstaben zu schreiben.

Was ich noch ausprobiert habe ist wie folgt:

delAndUpper :: [String] -> [String]
delAndUpper myList = filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList

Die unerwünschten Elemente werden ordnungsgemäß aus der Liste entfernt. Ich kann toUpper jedoch nicht auf diese Liste anwenden, da toUpper den Typ Char hat.

Ich habe es mit Karte versucht und es funktioniert nicht.

delAndUpper myList = map toUpper (filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList)

Ich weiß, dass toUpper in dieser Codezeile eine Liste als Wert erhält und daher nicht funktioniert, aber ich weiß, wie man eine Ebene tiefer in die Liste geht und die Map toUpper anwendet.

Kannst du mir bitte Helfen.

Danke im Voraus!

Schöne Grüße

Antworten auf die Frage(3)

Ihre Antwort auf die Frage