gpt4 book ai didi

Haskell 使用保护方程创建类型

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

我想创建一个名为 TwoValued 的类型它包含两个值:ab ,我想确保 a <= b

data TwoValued a b | a <= b = ValuePair a b
| otherwise = ValuePair b a

但这不起作用,我认为这里不允许使用 protected 方程式,那么还有其他方法可以实现我想要的吗?谢谢。

最佳答案

您在这里需要一个 ADT(抽象数据类型),因此,首先,正确创建您的数据类型:

data TwoValued a = ValuePair a a deriving Show

然后制作构造函数
makePair :: Ord a => a -> a -> TwoValued a a
makePair x y = if x < y then (ValuePair x y) else (ValuePair y x)

最后,仅使用用户需要查看的功能导出模块(在本例中为 makePair)

关于Haskell 使用保护方程创建类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47271149/

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