【发布时间】:2021-12-26 05:26:39
【问题描述】:
我想创建以下数据结构,第一个是代数数据类型 OneToTen,第二个我想成为一个列表,其中包含 OneToTen 可以用于我在程序中进行的未来映射的所有值。
data OneToTen = I | II | III | IV | V | VI | VII | VIII | IX | X
???? SetOneToTen = [I, II, III, IV, V, VI, VII, VIII, IX, X]
这在 haskell 中是否可能,或者我应该只使用一个返回上述列表的函数并使用它?
更新:我的做法很简单:
data OneToTen = I | II | III | IV | V | VI | VII | VIII | IX | X
deriving (Enum, Show)
setOneToTen :: [OneToTen]
setOneToTen = [I .. X]
然后在需要列表时调用此函数:)
【问题讨论】:
-
只需删除
????并将SetOneToTen重命名为setOneToTen。那么setOneToTen就是OneToTens的列表。
标签: list haskell types enums algebraic-data-types