我的代码片段看起来是这样的:有没有一种简单的方法可以将派生Enum的数据类型转换为列表?
data SomeData = A | B | C | D | E deriving (Show, Enum)
,我希望能够达到一定的数值容易映射到这些类型。说我想有映射到SomeData
型char
S,我可能会做它像这样:
mappings = zip "abcde" [A, B, C, D, E]
这将产生[('a',A),('b',B)...]
等。我希望Enum
类型的类可以让我能够通过使用一些便利功能将数据类型转换成上面列出的列表([A, B, C, D, E]
),从而轻松完成此操作。
标准库中是否有这样的功能?或者如果我想使用类似的东西,我是否需要自己定义它?
这实际上*正是*我正在寻找。我发布后立即发现了它。感谢您及时的回复! –