Artist
のリストとGenre
の文字列をパラメータとして受け取り、そのジャンルのすべてのArtist
を出力する関数を作成しようとしています。次のように私は、データ型Artist
を定義していますユーザー定義型のフィルタリング
data Artist = Artist Name Genres
deriving Show
type Name = String
type Genres = [Genre]
type Genre = String
次のように機能を実装するために私のコードは次のとおりです。
getFilteredArtists :: [Artist] -> Genre -> [Artist]
getFilteredArtists xs genre = filter (genre) (map getGenres xs)
サンプル関数の呼び出しは以下の通りです:
べきartists = [
Artist "Grimes" ["Electropop", "Dream Pop", "Synthpop"],
Artist "My Bloody Valentine" ["Shoegaze", "Noise Pop", "Post Punk"],
Artist "David Bowie" ["Art Rock", "Pop Rock", "Glam Rock", "New Wave"]
]
getFilteredArtists artists "Art Rock"
しかし、TYPを出力している、[Artist "David Bowie" ["Art Rock", "Pop Rock", "Glam Rock", "New Wave"]
My機能を返します電子一致のエラーと私はなぜ不明です。どんな助けでも大歓迎です!