【发布时间】:2016-11-28 06:06:21
【问题描述】:
如果你有数据类型
data Something = foo Integer
| bar Bool
我是否定义了“getter”来展开Something 类型以获取Integer 或Bool?现在它就像 (foo Integer) 和 (bar Bool)。我只想要整数或布尔值。
【问题讨论】:
-
您可以编写
data Something = Foo { getInteger :: Integer } | Bar { getBool :: Bool }并免费获得getInteger :: Something -> Integer和getBool :: Something -> Bool函数(但如果输入错误,它们会严重失败)。