我的代碼片段看起來是這樣的:有沒有一種簡單的方法可以將派生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]
),從而輕鬆完成此操作。
標準庫中是否有這樣的功能?或者如果我想使用類似的東西,我是否需要自己定義它?
這實際上*正是*我正在尋找。我發佈後立即發現了它。感謝您及時的回覆! –