次のようなコードのスニペットがあります。
data SomeData = A | B | C | D | E deriving (Show, Enum)
そして、特定の値をこれらのタイプに簡単にマップできるようにしたいと思います。char
を型にマップしたいとします。次のSomeData
ようにします。
mappings = zip "abcde" [A, B, C, D, E]
これにより、などが生成[('a',A),('b',B)...]
されます。型クラスを使用すると、便利な関数を使用Enum
してデータ型を上記のリスト()に変換することで、これを簡単に実行できるようになることを期待していました。[A, B, C, D, E]
標準ライブラリにそのような関数はありますか?または、このようなものを使用したい場合は、自分で定義する必要がありますか?