haskell - 是否可以从 Haskell 中数据类型的可能值生成列表?

标签 haskell types list-comprehension

可以根据类型的可能值生成列表吗?例如

data Shape = Circle | Rectangle | Triangle | Pentagon

[Circle,Rectangle,Triangle,Pentagon]

最佳答案

是的,可以。这是 Enum 的职责和 Bounded类型类例如

λ data Shape = Circle | Rectangle | Triangle | Pentagon deriving (Show, Enum, Bounded)
λ [minBound .. maxBound] :: [Shape]
[Circle,Rectangle,Triangle,Pentagon]
λ [minBound ..] :: [Shape]
[Circle,Rectangle,Triangle,Pentagon]

关于haskell - 是否可以从 Haskell 中数据类型的可能值生成列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18226726/

相关文章:

python - 如何根据另一个列表获取一个列表的子列表?

Haskell 守卫未被满足

Haskell CPS 编程风格问题

c++ - C 和 C++ 中 char 的区别?

reflection - 检查成员(member)/属性(property)类型

list - 从具有 2 个以上元素的元组列表中检索一个元素 (Haskell)

haskell - 无法在 Haskell 中打印自己的数据类型

c - 在 Haskell 和 C 之间交换结构化数据

在 C 中使用 typedef 创建泛型

python - 将字典的键(文件路径)连接到其项目(该字典中的项目)