署名付きの関数が必要です :: [(Int,Char)] -> [String] 各 Char を取り、それらを対応するペアの整数値に従って文字列のリストに結合します...
すなわち。
[(0,'A'),(1,'B'),(2,'C'),(3,'D'),(0,'E'),(1,'F'),(2,'G'),(3,'H'),(0,'I'),(1,'J'),(2,'K'),(3,'L'),(0,'M'),(1,'N'),(2,'O'),(3,'P')]
リストを生成する必要があります: ["MIEA","NJFB","OKGC","PLHD"]
私はもう試した:
toList :: [(Int,Char)] -> Int -> [String]
toList [] a = []
toList (x:xs) a = [snd(x) | n <-[0..(a-1)], fst(x) == n]:toList xs a
しかし、それは私に与えます:
["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"]
どんな提案でも大歓迎です。