gpt4 book ai didi

haskell - 有没有更好的方式来表达这种类型?

转载 作者:行者123 更新时间:2023-12-01 21:13:16 25 4
gpt4 key购买 nike

我创建了这种数据类型,其中有很多重复。

data JobState = UnsanitizedData Handle
| SanitizedData Handle
| VerifiedData Handle
| JobFail Handle

我不希望在没有 Handle 的情况下使用这些 JobState 中的任何一个。但重复让我怀疑我没有正确表达这一点。有更好的办法吗?

最佳答案

一种方法是将其分解为状态值和包含句柄的包装器:

data JobState = UnsanitizedData | SanitizedData | VerifiedData | JobFail
deriving (Eq, Enum, Ord, Show, Read)
data Job = Job { jobState :: JobState, jobHandle :: Handle }
-- or: data Job = Job JobState Handle

关于haskell - 有没有更好的方式来表达这种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com