リスト [String] があります。このタスクは、リスト内の「q」または「p」を含む要素を削除し、toUpper を使用してリスト内のすべての文字を大文字にすることです。
私がまだ試したことは次のとおりです。
delAndUpper :: [String] -> [String]
delAndUpper myList = filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList
リストから不要な要素を適切に削除しますが、toUpper のタイプが Char であるため、このリストに toUpper を適用できません。
マップで試してみましたが、うまくいきません。
delAndUpper myList = map toUpper (filter (\x -> not('p' `elem` x || 'q' `elem` x)) myList)
このコード行の toUpper はリストを値として取得するため機能しないことはわかっていますが、リストのレベルを下げてマップ toUpper を適用する方法は知っています。
手伝っていただけませんか。
前もって感謝します!
ご挨拶